/* ==========================================================================
   童话集 - Twitter (X) Web App 完整 1:1 纯净独立样式表 (UI 防错乱/防挤压增强版)
   ========================================================================== */

:root {
  --page-pad: 0px;
  --global-avatar-bg: #cfd3d7;
  --global-image-placeholder: #eff3f4;
  --o3o-long-button-radius: 9999px;
  --x-theme-blue: #1d9bf0;
  --x-text-main: #0f1419;
  --x-text-sub: #536471;
  --x-border-color: #eff3f4;
  --x-border-darker: #cfd9de;
}

/* 独立外壳容器隔离与样式强力沙盒 */
.twitter-app-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 7000;
  background: #ffffff;
  overflow: hidden;
  display: none;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box;
  line-height: normal;
  text-align: left;
}

.twitter-app-container *,
.twitter-app-container *::before,
.twitter-app-container *::after {
  box-sizing: border-box !important;
  -webkit-tap-highlight-color: transparent !important;
}

/* 主页面框架 */
.Fairy-twitter-page {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0;
  background: #ffffff;
  color: var(--x-text-main);
  overflow: hidden;
  position: relative;
  font-family: inherit;
  -webkit-font-smoothing: antialiased;
}

.launcher.Fairy-twitter {
  padding-bottom: 0;
}

.launcher.Fairy-twitter .Fairy-twitter-page {
  display: block;
}

/* 基础元素重置：全面切断外部 CSS 污染 */
.Fairy-twitter-page button,
.Fairy-twitter-page input,
.Fairy-twitter-page textarea,
.Fairy-twitter-page select {
  font-family: inherit;
  outline: none !important;
  padding: 0;
  margin: 0;
  color: inherit;
  box-sizing: border-box !important;
  letter-spacing: normal;
  text-transform: none;
  -webkit-appearance: none;
  appearance: none;
}

.Fairy-twitter-page button {
  cursor: pointer;
  background: transparent;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1;
}

/* 图标基础规范与防挤压保护 */
.Fairy-twitter-page svg {
  display: block !important;
  pointer-events: none !important; /* 彻底防止 SVG 拦截点击事件导致事件判定偏移 */
  flex-shrink: 0 !important;
}

.Fairy-twitter-brand-logo {
  width: 28px !important;
  height: 28px !important;
  fill: currentColor;
  flex: 0 0 28px !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-icon {
  width: 24px !important;
  height: 24px !important;
  flex: 0 0 24px !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
}

.Fairy-twitter-lucide {
  width: 24px !important;
  height: 24px !important;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  overflow: visible;
  flex: 0 0 24px !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-fa-solid {
  width: 24px !important;
  height: 24px !important;
  fill: currentColor;
  flex: 0 0 24px !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-verified-svg {
  width: 17px !important;
  height: 17px !important;
  display: inline-block !important;
  color: var(--x-theme-blue) !important;
  flex: 0 0 17px !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
  margin-left: 2px;
}

/* 头像组件：强制正圆并锁定尺寸 */
.Fairy-twitter-avatar {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  border-radius: 50% !important;
  background: var(--global-avatar-bg, #cfd3d7);
  overflow: hidden;
  display: grid !important;
  place-items: center !important;
  position: relative;
  flex: 0 0 38px !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-avatar img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: none;
}

.Fairy-twitter-avatar.has-image img {
  display: block;
}

.Fairy-twitter-avatar svg {
  width: 100% !important;
  height: 100% !important;
}

.Fairy-twitter-avatar-large {
  width: 72px !important;
  height: 72px !important;
  min-width: 72px !important;
  min-height: 72px !important;
  flex: 0 0 72px !important;
  flex-shrink: 0 !important;
}

/* 主壳结构与顶栏 */
.Fairy-twitter-shell {
  display: none;
  position: absolute;
  inset: 0;
  background: #fff;
}

.Fairy-twitter-page.is-main .Fairy-twitter-shell {
  display: block;
}

.Fairy-twitter-topbar {
  height: calc(76px + env(safe-area-inset-top, 0px));
  padding: calc(20px + env(safe-area-inset-top, 0px)) 15px 0;
  display: grid !important;
  grid-template-columns: 42px 1fr 42px !important;
  align-items: center !important;
  border-bottom: 0.5px solid var(--x-border-color);
  background: rgba(255, 255, 255, 0.96);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 12;
}

.Fairy-twitter-topbar-logo {
  position: absolute;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  height: auto !important;
  border: none !important;
  border-radius: 0 !important;
  color: var(--x-text-main) !important;
  background: transparent !important;
  cursor: pointer;
  font-size: 19px !important;
  font-weight: 850 !important;
  letter-spacing: -0.3px;
  line-height: 1 !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-bird-icon {
  display: none !important;
}

.Fairy-twitter-topbar-action {
  grid-column: 3;
  width: 38px !important;
  height: 38px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  justify-self: end;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--x-text-main);
  flex-shrink: 0 !important;
}

.Fairy-twitter-topbar-action .Fairy-twitter-icon {
  width: 21px !important;
  height: 21px !important;
}

.Fairy-twitter-topbar .Fairy-twitter-avatar {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  cursor: pointer;
}

/* 视图通用配置 */
.Fairy-twitter-view {
  display: none;
  position: absolute;
  inset: 0 0 calc(61px + env(safe-area-inset-bottom, 0px));
  background: #fff;
  overflow: hidden;
}

.Fairy-twitter-view.is-active {
  display: block;
}

.Fairy-twitter-view-scroll {
  position: absolute;
  inset: 0;
  overflow-y: auto;
  scrollbar-width: none;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.Fairy-twitter-view-scroll::-webkit-scrollbar {
  display: none;
}

/* 首页 Feed 区域 */
.Fairy-twitter-home-scroll {
  padding-top: calc(125px + env(safe-area-inset-top, 0px));
}

.Fairy-twitter-home-tabs {
  position: absolute;
  top: calc(76px + env(safe-area-inset-top, 0px));
  left: 0;
  right: 0;
  height: 49px;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 0.5px solid var(--x-border-color);
  z-index: 10;
}

.Fairy-twitter-home-tab {
  position: relative;
  font-size: 15px;
  font-weight: 500;
  color: var(--x-text-sub);
  background: none;
  border: none;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.Fairy-twitter-home-tab.is-active {
  font-weight: 700;
  color: var(--x-text-main);
}

.Fairy-twitter-home-tab.is-active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 56px;
  height: 4px;
  border-radius: 4px;
  background: var(--x-theme-blue);
  transform: translateX(-50%);
}

.Fairy-twitter-feed-empty {
  padding: 38px 42px;
  text-align: center;
}

.Fairy-twitter-feed-empty-title {
  font-size: 29px;
  font-weight: 800;
  line-height: 34px;
  letter-spacing: -0.65px;
}

.Fairy-twitter-feed-empty-copy {
  margin-top: 8px;
  color: var(--x-text-sub);
  font-size: 15px;
  line-height: 20px;
}

/* 推文卡片 (Post) 与操作栏严密对齐 */
.Fairy-twitter-post {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  gap: 9px;
  padding: 12px 15px 8px;
  border-bottom: 0.5px solid var(--x-border-color);
  cursor: pointer;
  background: #fff;
}

.Fairy-twitter-post > div:first-child {
  flex-shrink: 0;
}

.Fairy-twitter-post > .Fairy-twitter-avatar {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  flex: 0 0 40px !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-post-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.Fairy-twitter-post-head {
  display: flex !important;
  align-items: center !important;
  min-width: 0;
  height: 20px;
  line-height: 20px;
}

.Fairy-twitter-post-name {
  font-size: 15px;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 20px;
}

.Fairy-twitter-post-handle,
.Fairy-twitter-post-time {
  font-size: 15px;
  color: var(--x-text-sub);
  white-space: nowrap;
  flex-shrink: 0;
  line-height: 20px;
}

.Fairy-twitter-post-dot {
  margin: 0 3px;
  color: var(--x-text-sub);
  flex-shrink: 0;
  line-height: 20px;
}

/* 图1/图2：“回复给 @xx” 文本样式 */
.Fairy-twitter-post-reply-to {
  font-size: 14px;
  color: var(--x-text-sub);
  margin-top: 2px;
  margin-bottom: 3px;
  line-height: 18px;
}

.Fairy-twitter-post-reply-to .Fairy-twitter-reply-handle {
  color: var(--x-theme-blue);
  font-weight: 500;
  cursor: pointer;
}

/* 图2：对话树纵向连接线 (Thread Line) */
.Fairy-twitter-thread-group {
  border-bottom: 0.5px solid var(--x-border-color);
  background: #ffffff;
}

.Fairy-twitter-post-avatar-col {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  height: 100%;
}

.Fairy-twitter-thread-line {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  background: #cfd9de;
  z-index: 1;
}

.Fairy-twitter-post.is-thread-parent {
  border-bottom: none !important;
  padding-bottom: 4px;
}

.Fairy-twitter-post.is-thread-parent .Fairy-twitter-thread-line {
  top: 42px;
  bottom: -12px;
}

.Fairy-twitter-post.is-thread-child {
  border-bottom: none !important;
  padding-top: 4px;
}

.Fairy-twitter-post.is-thread-child .Fairy-twitter-thread-line {
  top: -12px;
  height: 16px;
}

.Fairy-twitter-post.is-thread-middle {
  border-bottom: none !important;
  padding-top: 4px;
  padding-bottom: 4px;
}

.Fairy-twitter-post.is-thread-middle .Fairy-twitter-thread-line {
  top: -12px;
  bottom: -12px;
}

/* 展开与收起更多评论按钮 */
.Fairy-twitter-thread-toggle-btn {
  padding: 8px 15px 12px 64px;
  color: var(--x-theme-blue);
  font-size: 14px;
  font-weight: 600;
  background: none;
  border: none;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  gap: 6px;
}

.Fairy-twitter-post-more {
  margin-left: auto !important;
  color: #71767b !important;
  width: 24px !important;
  height: 24px !important;
  display: grid !important;
  place-items: center !important;
  flex: 0 0 24px !important;
  flex-shrink: 0 !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
}

.Fairy-twitter-post-more .Fairy-twitter-icon {
  width: 18px !important;
  height: 18px !important;
  color: #71767b !important;
}

.Fairy-twitter-post-text {
  font-size: 15px;
  line-height: 20px;
  white-space: pre-wrap;
  word-break: break-word;
  margin-top: 3px;
}

.Fairy-twitter-post-media {
  margin-top: 10px;
  border: 1px solid var(--x-border-darker);
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 16/9;
  background: var(--global-image-placeholder, #eff3f4) !important;
  display: flex;
  align-items: flex-end;
}

.Fairy-twitter-post-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.Fairy-twitter-post-media-copy {
  width: 100%;
  padding: 13px;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.4px;
}

.Fairy-twitter-post-poll {
  margin-top: 10px;
  border: 1px solid var(--x-border-darker);
  border-radius: 14px;
  overflow: hidden;
}

.Fairy-twitter-post-poll-option {
  padding: 10px 12px;
  font-size: 14px;
  background: #f7f9f9;
}

.Fairy-twitter-post-poll-option + .Fairy-twitter-post-poll-option {
  border-top: 0.5px solid var(--x-border-color);
}

.Fairy-twitter-post-location {
  margin-top: 7px;
  color: var(--x-theme-blue);
  font-size: 12px;
  font-weight: 650;
}

/* 操作栏按钮：强制水平垂直对齐与行高重置 */
.Fairy-twitter-post-actions {
  height: 34px;
  margin-top: 4px;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  color: var(--x-text-sub);
  max-width: 100%;
}

.Fairy-twitter-post-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 4px !important;
  min-width: 0;
  color: inherit;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0 !important;
  line-height: 1 !important;
}

.Fairy-twitter-post-actions > .Fairy-twitter-post-action:nth-child(-n+4) {
  flex: 1 1 auto;
}

.Fairy-twitter-post-actions > .Fairy-twitter-post-action:nth-child(5) {
  flex: 0 0 auto;
  margin-left: 6px;
}

.Fairy-twitter-post-actions > .Fairy-twitter-post-action:nth-child(6) {
  flex: 0 0 auto;
  margin-left: 14px;
}

.Fairy-twitter-post-action .Fairy-twitter-icon {
  width: 17.5px !important;
  height: 17.5px !important;
  flex: 0 0 17.5px !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-post-action[data-x-action="like"] .Fairy-twitter-icon,
.Fairy-twitter-post-action[data-x-action="like"] .Fairy-twitter-fa-solid {
  width: 15.5px !important;
  height: 15.5px !important;
  flex: 0 0 15.5px !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-post-actions > .Fairy-twitter-post-action:last-child .Fairy-twitter-icon {
  width: 24px !important;
  height: 24px !important;
  flex: 0 0 24px !important;
  flex-shrink: 0 !important;
}

/* 收藏书签空心与实心严格等大统一 */
.Fairy-twitter-bookmark-icon {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
  stroke-width: 2 !important;
}

.Fairy-twitter-bookmark-icon.is-filled {
  fill: currentColor !important;
  stroke: currentColor !important;
}

.Fairy-twitter-bookmark-icon:not(.is-filled) {
  fill: none !important;
  stroke: currentColor !important;
}

/* 详情页（发帖页面）内的书签尺寸 */
.Fairy-twitter-detail-actions .Fairy-twitter-bookmark-icon {
  width: 25px !important;
  height: 25px !important;
  flex: 0 0 25px !important;
}

.Fairy-twitter-post-action .Fairy-twitter-fa-solid {
  width: 15.5px !important;
  height: 15.5px !important;
  flex: 0 0 15.5px !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-post-action span {
  font-size: 12px;
  line-height: 1 !important;
  display: inline-block;
  vertical-align: middle;
}

.Fairy-twitter-post-action.is-liked {
  color: #f91880 !important;
}

.Fairy-twitter-post-action.is-bookmarked {
  color: var(--x-theme-blue) !important;
}

/* 页面通用顶部导航 */
.Fairy-twitter-page-head {
  height: calc(76px + env(safe-area-inset-top, 0px));
  padding: calc(20px + env(safe-area-inset-top, 0px)) 15px 0;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 42px !important;
  align-items: center !important;
  border-bottom: 0.5px solid var(--x-border-color);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9;
  background: rgba(255, 255, 255, 0.97);
}

.Fairy-twitter-page-head .Fairy-twitter-avatar {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  cursor: pointer;
}

.Fairy-twitter-page-title {
  font-size: 17px;
  font-weight: 750;
  line-height: 22px;
  letter-spacing: -0.25px;
  text-align: center;
}

.Fairy-twitter-page-head-action {
  width: 38px !important;
  height: 38px !important;
  display: grid !important;
  place-items: center !important;
  justify-self: end;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--x-text-main);
  flex-shrink: 0 !important;
}

.Fairy-twitter-page-head-action .Fairy-twitter-icon {
  width: 21px !important;
  height: 21px !important;
}

/* 搜索与趋势视图：修复搜索输入框文字上下偏移 */
.Fairy-twitter-search-scroll {
  padding-top: 0;
}

.Fairy-twitter-notifications-scroll,
.Fairy-twitter-messages-scroll {
  padding-top: calc(76px + env(safe-area-inset-top, 0px));
}

.Fairy-twitter-search-top {
  height: calc(76px + env(safe-area-inset-top, 0px));
  padding: calc(20px + env(safe-area-inset-top, 0px)) 15px 0;
  border-bottom: 0.5px solid var(--x-border-color);
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 42px !important;
  gap: 8px;
  align-items: center !important;
  position: sticky;
  top: 0;
  background: rgba(255, 255, 255, 0.97);
  z-index: 8;
}

.Fairy-twitter-search-top .Fairy-twitter-avatar {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  cursor: pointer;
}

.Fairy-twitter-search-shell {
  height: 40px !important;
  border-radius: 20px !important;
  background: #eff3f4 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px;
  padding: 0 14px !important;
  color: var(--x-text-sub);
  border: none !important;
  overflow: hidden;
}

.Fairy-twitter-search-shell .Fairy-twitter-icon {
  width: 17px !important;
  height: 17px !important;
  flex: 0 0 17px !important;
}

.Fairy-twitter-search-shell input {
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0;
  font-size: 15px !important;
  line-height: normal !important;
  color: var(--x-text-main) !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 !important;
}

.Fairy-twitter-search-shell input::placeholder {
  color: var(--x-text-sub);
}

.Fairy-twitter-search-gear {
  width: 38px !important;
  height: 38px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  justify-self: end;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--x-text-main);
  flex-shrink: 0 !important;
}

.Fairy-twitter-search-gear .Fairy-twitter-icon {
  width: 21px !important;
  height: 21px !important;
}

.Fairy-twitter-subtabs {
  height: 46px;
  display: flex !important;
  overflow-x: auto;
  border-bottom: 0.5px solid var(--x-border-color);
  scrollbar-width: none;
}

.Fairy-twitter-subtabs::-webkit-scrollbar {
  display: none;
}

.Fairy-twitter-subtab {
  flex: 1 0 auto !important;
  min-width: 72px;
  padding: 0 14px !important;
  position: relative;
  color: var(--x-text-sub);
  font-size: 14px;
  font-weight: 500;
  background: none;
  border: none;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.Fairy-twitter-subtab.is-active {
  color: var(--x-text-main);
  font-weight: 700;
}

.Fairy-twitter-subtab.is-active::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 25%;
  right: 25%;
  height: 4px;
  border-radius: 4px;
  background: var(--x-theme-blue);
}

.Fairy-twitter-search-account {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) auto !important;
  gap: 10px;
  align-items: center !important;
  padding: 12px 15px;
  border-bottom: 0.5px solid var(--x-border-color);
  cursor: pointer;
}

.Fairy-twitter-search-account .Fairy-twitter-avatar {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
}

.Fairy-twitter-search-account-name {
  display: flex !important;
  align-items: center !important;
  gap: 2px;
  font-size: 15px;
  font-weight: 700;
  line-height: 19px;
}

.Fairy-twitter-search-account-handle {
  color: var(--x-text-sub);
  font-size: 14px;
  line-height: 18px;
}

/* 关注按钮：锁定尺寸、文字绝对居中 */
.Fairy-twitter-search-follow {
  height: 32px !important;
  padding: 0 17px !important;
  border-radius: 9999px !important;
  background: var(--x-text-main) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  border: none !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
}

.Fairy-twitter-trend {
  padding: 12px 15px;
  border-bottom: 0.5px solid var(--x-border-color);
  position: relative;
}

.Fairy-twitter-trend-kicker {
  font-size: 12px;
  color: var(--x-text-sub);
  line-height: 16px;
}

.Fairy-twitter-trend-title {
  margin-top: 1px;
  font-size: 15px;
  line-height: 20px;
  font-weight: 700;
}

.Fairy-twitter-trend-count {
  margin-top: 2px;
  color: var(--x-text-sub);
  font-size: 12px;
  line-height: 16px;
}

.Fairy-twitter-trend-more {
  position: absolute;
  right: 14px;
  top: 10px;
  color: var(--x-text-sub);
  background: none;
  border: none;
  cursor: pointer;
  width: 28px !important;
  height: 28px !important;
  display: grid !important;
  place-items: center !important;
}

.Fairy-twitter-trend-more .Fairy-twitter-icon {
  width: 18px !important;
  height: 18px !important;
}

/* Grok 视图 */
.Fairy-twitter-grok-head {
  height: calc(76px + env(safe-area-inset-top, 0px));
  padding: calc(20px + env(safe-area-inset-top, 0px)) 15px 0;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 82px !important;
  align-items: center !important;
  border-bottom: 0.5px solid var(--x-border-color);
  background: rgba(255, 255, 255, 0.98);
  position: absolute;
  inset: 0 0 auto;
  z-index: 12;
}

.Fairy-twitter-grok-head > .Fairy-twitter-avatar {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  cursor: pointer;
}

.Fairy-twitter-grok-head-title {
  text-align: center;
  min-width: 0;
  display: flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: 5px;
}

.Fairy-twitter-grok-head-title strong {
  font-size: 17px;
  line-height: 22px;
  font-weight: 800;
  letter-spacing: -0.25px;
}

.Fairy-twitter-grok-head-title span {
  color: var(--x-text-sub);
  font-size: 11px;
  line-height: 16px;
}

.Fairy-twitter-grok-head-actions {
  justify-self: end;
  display: flex !important;
  align-items: center !important;
  gap: 3px;
}

.Fairy-twitter-grok-head-action {
  width: 36px !important;
  height: 36px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--x-text-main);
  flex-shrink: 0 !important;
}

.Fairy-twitter-grok-head-action .Fairy-twitter-icon {
  width: 20px !important;
  height: 20px !important;
}

.Fairy-twitter-grok-view {
  position: absolute;
  inset: calc(76px + env(safe-area-inset-top, 0px)) 0 0;
  overflow: hidden;
  background: #fff;
}

.Fairy-twitter-grok-body {
  position: absolute;
  inset: 0 0 98px;
  overflow-y: auto;
  padding: 0 15px 24px;
  scrollbar-width: none;
}

.Fairy-twitter-grok-body::-webkit-scrollbar {
  display: none;
}

.Fairy-twitter-grok-welcome {
  padding: 28px 2px 17px;
}

.Fairy-twitter-grok-mark {
  width: 40px !important;
  height: 40px !important;
  border-radius: 10px !important;
  background: var(--x-text-main) !important;
  color: #fff;
  display: grid !important;
  place-items: center !important;
}

.Fairy-twitter-grok-mark .Fairy-twitter-icon {
  width: 23px !important;
  height: 23px !important;
}

.Fairy-twitter-grok-title {
  margin-top: 15px;
  font-size: 25px;
  font-weight: 800;
  line-height: 30px;
  letter-spacing: -0.55px;
}

.Fairy-twitter-grok-sub {
  margin-top: 5px;
  color: var(--x-text-sub);
  font-size: 14px;
  line-height: 19px;
  max-width: 330px;
}

.Fairy-twitter-grok-suggestions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px;
}

.Fairy-twitter-grok-suggestion {
  min-height: 96px !important;
  padding: 12px !important;
  border: 1px solid var(--x-border-darker) !important;
  border-radius: 14px !important;
  text-align: left !important;
  background: #fff !important;
  color: var(--x-text-main) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 12px;
  font-size: 14px;
  font-weight: 700;
  line-height: 18px;
  cursor: pointer;
}

.Fairy-twitter-grok-suggestion .Fairy-twitter-icon {
  width: 19px !important;
  height: 19px !important;
  color: var(--x-theme-blue);
}

.Fairy-twitter-grok-conversation {
  padding-top: 10px;
}

.Fairy-twitter-grok-message {
  margin: 14px 0;
}

.Fairy-twitter-grok-message.user {
  margin-left: 48px;
  padding: 10px 13px;
  border-radius: 18px 18px 5px 18px !important;
  background: #eff3f4;
  font-size: 15px;
  line-height: 20px;
}

.Fairy-twitter-grok-message.assistant {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  gap: 9px;
}

.Fairy-twitter-grok-mini {
  width: 28px !important;
  height: 28px !important;
  border-radius: 8px !important;
  background: var(--x-text-main) !important;
  color: #fff;
  display: grid !important;
  place-items: center !important;
}

.Fairy-twitter-grok-mini .Fairy-twitter-icon {
  width: 16px !important;
  height: 16px !important;
}

.Fairy-twitter-grok-answer {
  font-size: 15px;
  line-height: 21px;
  white-space: pre-wrap;
}

.Fairy-twitter-grok-answer-actions {
  margin-top: 9px;
  display: flex !important;
  gap: 16px;
  color: var(--x-text-sub);
}

.Fairy-twitter-grok-answer-actions button {
  width: 25px !important;
  height: 25px !important;
  display: grid !important;
  place-items: center !important;
  background: none;
  border: none;
  cursor: pointer;
  color: inherit;
}

.Fairy-twitter-grok-answer-actions .Fairy-twitter-icon,
.Fairy-twitter-grok-answer-actions .Fairy-twitter-fa-solid {
  width: 17px !important;
  height: 17px !important;
}

.Fairy-twitter-grok-composer {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 8px;
  min-height: 82px;
  border: 1px solid var(--x-border-darker) !important;
  border-radius: 20px !important;
  background: #fff !important;
  padding: 7px 8px 7px 12px;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px;
}

.Fairy-twitter-grok-input-row {
  display: flex !important;
  align-items: flex-end !important;
  gap: 6px;
  min-height: 40px;
}

.Fairy-twitter-grok-composer textarea {
  flex: 1;
  min-width: 0;
  max-height: 92px;
  min-height: 38px;
  border: 0 !important;
  outline: 0 !important;
  resize: none;
  background: transparent !important;
  font-size: 16px;
  line-height: 21px;
  padding: 8px 0 5px;
}

.Fairy-twitter-grok-mic {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  color: var(--x-text-sub);
  flex: 0 0 34px !important;
  flex-shrink: 0 !important;
  background: none;
  border: none;
  cursor: pointer;
}

.Fairy-twitter-grok-mic .Fairy-twitter-icon {
  width: 17px !important;
  height: 17px !important;
}

.Fairy-twitter-grok-composer-tools {
  height: 30px;
  display: flex !important;
  align-items: center !important;
  gap: 5px;
}

.Fairy-twitter-grok-attach {
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  color: var(--x-text-sub);
  flex: 0 0 30px !important;
  flex-shrink: 0 !important;
  background: none;
  border: none;
  cursor: pointer;
}

.Fairy-twitter-grok-attach .Fairy-twitter-icon {
  width: 17px !important;
  height: 17px !important;
}

.Fairy-twitter-grok-mode {
  height: 28px !important;
  padding: 0 10px !important;
  border: 1px solid var(--x-border-darker) !important;
  border-radius: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px;
  color: var(--x-text-sub) !important;
  font-size: 11px;
  font-weight: 650;
  white-space: nowrap !important;
  background: transparent !important;
  cursor: pointer;
  flex-shrink: 0 !important;
  line-height: 1 !important;
}

.Fairy-twitter-grok-mode .Fairy-twitter-icon {
  width: 14px !important;
  height: 14px !important;
}

.Fairy-twitter-grok-mode.is-active {
  color: var(--x-text-main) !important;
  background: #eff3f4 !important;
  border-color: #aeb8bf !important;
}

.Fairy-twitter-tools-spacer {
  flex: 1;
}

.Fairy-twitter-grok-send {
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  background: var(--x-text-main) !important;
  color: #fff !important;
  flex: 0 0 30px !important;
  flex-shrink: 0 !important;
  border: none !important;
  cursor: pointer;
}

.Fairy-twitter-grok-send:disabled {
  opacity: 0.28;
  cursor: default;
}

.Fairy-twitter-grok-send .Fairy-twitter-icon {
  width: 16px !important;
  height: 16px !important;
}

.Fairy-twitter-grok-history-panel {
  display: none;
  position: absolute;
  inset: 56px 0 0;
  z-index: 18;
  background: #fff;
  overflow-y: auto;
}

.Fairy-twitter-grok-history-panel.is-open {
  display: block;
}

.Fairy-twitter-grok-history-title {
  padding: 17px 15px 8px;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.3px;
}

.Fairy-twitter-grok-history-empty {
  padding: 28px 15px;
  color: var(--x-text-sub);
  font-size: 14px;
  line-height: 19px;
}

.Fairy-twitter-grok-history-row {
  width: 100% !important;
  padding: 13px 15px !important;
  border-bottom: 0.5px solid var(--x-border-color);
  text-align: left !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 9px;
  align-items: center !important;
  background: none;
  border-left: none;
  border-right: none;
  border-top: none;
  cursor: pointer;
}

.Fairy-twitter-grok-history-row-title {
  font-size: 15px;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.Fairy-twitter-grok-history-row-copy {
  margin-top: 2px;
  color: var(--x-text-sub);
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.Fairy-twitter-grok-history-row-time {
  color: var(--x-text-sub);
  font-size: 11px;
}

/* 通知栏 */
.Fairy-twitter-notification-tabs {
  position: sticky;
  top: 0;
  height: 48px;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  border-bottom: 0.5px solid var(--x-border-color);
  background: rgba(255, 255, 255, 0.98);
  z-index: 6;
}

.Fairy-twitter-notification-tabs button {
  position: relative;
  color: var(--x-text-sub);
  font-size: 14px;
  font-weight: 500;
  background: none;
  border: none;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.Fairy-twitter-notification-tabs button.is-active {
  color: var(--x-text-main);
  font-weight: 700;
}

.Fairy-twitter-notification-tabs button.is-active::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 30%;
  right: 30%;
  height: 4px;
  background: var(--x-theme-blue);
  border-radius: 4px;
}

.Fairy-twitter-notification {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) !important;
  gap: 11px;
  padding: 11px 15px 12px;
  border-bottom: 0.5px solid var(--x-border-color);
  cursor: pointer;
}

.Fairy-twitter-notification-icon {
  display: grid !important;
  place-items: start center !important;
  padding-top: 3px;
}

.Fairy-twitter-notification-icon .Fairy-twitter-icon,
.Fairy-twitter-notification-icon .Fairy-twitter-fa-solid {
  width: 23px !important;
  height: 23px !important;
}

.Fairy-twitter-notification-icon.like {
  color: #f91880;
}

.Fairy-twitter-notification-icon.follow {
  color: var(--x-theme-blue);
}

.Fairy-twitter-notification-icon.repost {
  color: #00ba7c;
}

.Fairy-twitter-notification-icon.mention,
.Fairy-twitter-notification-icon.reply {
  color: var(--x-theme-blue);
}

.Fairy-twitter-notification-leading-avatar {
  width: 28px !important;
  height: 28px !important;
  flex: 0 0 28px !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-notification-actors {
  display: flex !important;
  align-items: center !important;
  min-height: 31px;
  padding-left: 1px;
}

.Fairy-twitter-notification-actors .Fairy-twitter-avatar {
  width: 28px !important;
  height: 28px !important;
  border: 2px solid #fff;
  margin-left: -7px;
  flex: 0 0 28px !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-notification-actors .Fairy-twitter-avatar:first-child {
  margin-left: 0;
}

.Fairy-twitter-notification-copy {
  margin-top: 4px;
  font-size: 14px;
  line-height: 19px;
  color: var(--x-text-main);
}

.Fairy-twitter-notification-copy strong {
  font-weight: 700;
}

.Fairy-twitter-notification-time {
  color: var(--x-text-sub);
  font-size: 12px;
  font-weight: 400;
  white-space: nowrap;
}

.Fairy-twitter-notification-preview {
  margin-top: 3px;
  color: var(--x-text-sub);
  font-size: 14px;
  line-height: 19px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 私信与聊天：彻底阻断挤压并修复输入框 */
.Fairy-twitter-message-search-wrap {
  padding: 8px 15px 6px;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.Fairy-twitter-message-search {
  flex: 1 !important;
  min-width: 0 !important;
  height: 38px !important;
  border-radius: 19px !important;
  background: #eff3f4 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px;
  padding: 0 13px !important;
  color: var(--x-text-sub);
  border: none !important;
}

.Fairy-twitter-message-search-evolve-btn {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: var(--x-theme-blue) !important;
  color: #ffffff !important;
  display: grid !important;
  place-items: center !important;
  border: none !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  transition: transform 0.15s ease, opacity 0.15s ease !important;
}

.Fairy-twitter-message-search-evolve-btn:active {
  transform: scale(0.92) !important;
}

.Fairy-twitter-message-search-evolve-btn svg {
  width: 19px !important;
  height: 19px !important;
  fill: #ffffff !important;
  color: #ffffff !important;
}

.Fairy-twitter-message-search-evolve-btn svg path {
  fill: #ffffff !important;
}

.Fairy-twitter-message-search .Fairy-twitter-icon {
  width: 17px !important;
  height: 17px !important;
  flex: 0 0 17px !important;
}

.Fairy-twitter-message-search input {
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  min-width: 0;
  width: 100% !important;
  height: 100% !important;
  font-size: 15px !important;
  line-height: normal !important;
  padding: 0 !important;
}

.Fairy-twitter-message-tabs {
  height: 40px;
  display: flex !important;
  align-items: center !important;
  gap: 8px;
  padding: 0 15px 7px;
  overflow-x: auto;
  border-bottom: 0.5px solid var(--x-border-color);
  scrollbar-width: none;
}

.Fairy-twitter-message-tabs::-webkit-scrollbar {
  display: none;
}

.Fairy-twitter-message-tab {
  height: 30px !important;
  padding: 0 14px !important;
  border: 1px solid var(--x-border-darker) !important;
  border-radius: 15px !important;
  color: var(--x-text-sub) !important;
  font-size: 13px;
  font-weight: 650;
  white-space: nowrap !important;
  background: transparent !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
}

.Fairy-twitter-message-tab.is-active {
  background: var(--x-text-main) !important;
  border-color: var(--x-text-main) !important;
  color: #fff !important;
}

.Fairy-twitter-message-item-wrap {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  background: #ffffff !important;
  border-bottom: 0.5px solid var(--x-border-color) !important;
}

.Fairy-twitter-message-swipe-actions {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  right: 0 !important;
  display: flex !important;
  align-items: stretch !important;
  z-index: 1 !important;
}

.Fairy-twitter-msg-swipe-btn {
  border: none !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  color: #ffffff !important;
  padding: 0 16px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 64px !important;
  line-height: 1 !important;
}

.Fairy-twitter-msg-swipe-btn.is-cancel {
  background: #536471 !important;
}

.Fairy-twitter-msg-swipe-btn.is-delete {
  background: #f4212e !important;
}

.Fairy-twitter-message-row {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) auto !important;
  gap: 11px;
  align-items: center !important;
  padding: 11px 15px !important;
  border: none !important;
  text-align: left !important;
  width: 100% !important;
  background: #ffffff !important;
  cursor: pointer;
  position: relative !important;
  z-index: 2 !important;
  transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
  user-select: none !important;
  touch-action: pan-y !important;
}

.Fairy-twitter-message-row .Fairy-twitter-avatar {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  flex: 0 0 48px !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-message-copy {
  min-width: 0;
  overflow: hidden;
}

.Fairy-twitter-message-name {
  display: flex !important;
  align-items: center !important;
  gap: 2px;
  font-size: 15px;
  font-weight: 750;
  line-height: 19px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.Fairy-twitter-message-snippet {
  margin-top: 2px;
  color: var(--x-text-sub);
  font-size: 14px;
  line-height: 18px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.Fairy-twitter-message-meta {
  align-self: start;
  padding-top: 3px;
  text-align: right;
  flex-shrink: 0;
  white-space: nowrap;
}

.Fairy-twitter-message-time {
  color: var(--x-text-sub);
  font-size: 12px;
}

.Fairy-twitter-message-unread {
  width: 18px !important;
  height: 18px !important;
  margin: 7px 0 0 auto;
  border-radius: 50% !important;
  background: var(--x-theme-blue) !important;
  color: #fff !important;
  font-size: 10px;
  font-weight: 700;
  display: grid !important;
  place-items: center !important;
}

.Fairy-twitter-message-compose {
  position: absolute;
  right: 17px !important;
  bottom: 13px !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: var(--x-theme-blue) !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12) !important;
  border: none !important;
  cursor: pointer;
  flex-shrink: 0 !important;
  z-index: 15 !important;
}

.Fairy-twitter-message-compose .Fairy-twitter-icon {
  width: 27px !important;
  height: 27px !important;
}

/* 聊天详情窗口 */
.Fairy-twitter-chat-thread {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 31;
  background: #fff;
}

.Fairy-twitter-chat-thread.is-open {
  display: block;
}

.Fairy-twitter-chat-head {
  height: calc(76px + env(safe-area-inset-top, 0px)) !important;
  padding: calc(20px + env(safe-area-inset-top, 0px)) 16px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border-bottom: none !important;
  background: #ffffff !important;
  position: relative;
  z-index: 2;
}

.Fairy-twitter-chat-head-left {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0;
  flex: 1;
}

.Fairy-twitter-chat-back {
  width: 32px !important;
  height: 32px !important;
  display: grid !important;
  place-items: center !important;
  background: none !important;
  border: none !important;
  cursor: pointer;
  color: var(--x-text-main);
  flex-shrink: 0 !important;
  padding: 0 !important;
}

.Fairy-twitter-chat-back .Fairy-twitter-icon {
  width: 22px !important;
  height: 22px !important;
}

.Fairy-twitter-chat-head .Fairy-twitter-avatar {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  flex: 0 0 38px !important;
  flex-shrink: 0 !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}

.Fairy-twitter-chat-head .Fairy-twitter-avatar img {
  width: 100% !important;
  height: 100% !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}

/* 引用条与输入栏垂直结构：去除破坏性定高，支持动态伸展 */
.Fairy-twitter-chat-composer {
  flex-direction: column !important;
  align-items: stretch !important;
  height: auto !important;
  min-height: 64px !important;
  padding: 6px 14px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
}

.Fairy-twitter-chat-composer-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
}

/* 引用条：默认隐藏，只有激活时才显示，杜绝强制外露 */
.Fairy-twitter-chat-quote-bar {
  display: none;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 6px 10px !important;
  background: #eff3f4 !important;
  border-radius: 10px !important;
  margin-bottom: 6px !important;
  font-size: 12.5px !important;
  color: var(--x-text-sub) !important;
}

.Fairy-twitter-chat-quote-bar.is-visible {
  display: flex !important;
}

.Fairy-twitter-chat-quote-text {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.Fairy-twitter-chat-quote-close {
  background: none;
  border: none;
  cursor: pointer;
  color: #536471;
  font-size: 13px;
  padding: 0 4px;
}

.Fairy-twitter-bubble-quote-line {
  font-size: 11.5px;
  color: rgba(255, 255, 255, 0.85);
  border-left: 2px solid rgba(255, 255, 255, 0.6);
  padding-left: 6px;
  margin-bottom: 4px;
}

.Fairy-twitter-chat-bubble.them .Fairy-twitter-bubble-quote-line {
  color: #536471;
  border-left-color: #cfd9de;
}

/* 仿微信长按黑底小菜单 (加宽排布 + 纯白文字 + 底部气泡小三角) */
.Fairy-twitter-bubble-menu {
  position: fixed;
  z-index: 99999;
  background: #2b2b2b !important;
  border-radius: 10px !important;
  padding: 3px 6px !important;
  display: none;
  align-items: center !important;
  justify-content: space-around !important;
  min-width: 216px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45) !important;
  border: 0.5px solid rgba(255, 255, 255, 0.14) !important;
  user-select: none !important;
}

.Fairy-twitter-bubble-menu.is-visible {
  display: flex !important;
}

/* 菜单下方居中指向小三角 */
.Fairy-twitter-bubble-menu::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #2b2b2b;
  pointer-events: none;
}

/* 按钮加宽，纯白高亮字号 */
.Fairy-twitter-bubble-menu-item {
  flex: 1 !important;
  height: 36px !important;
  padding: 0 16px !important;
  background: transparent !important;
  border: none !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  letter-spacing: 0.2px;
}

.Fairy-twitter-bubble-menu-item:active {
  background: rgba(255, 255, 255, 0.18) !important;
  border-radius: 6px !important;
}

.Fairy-twitter-bubble-menu-divider {
  width: 0.5px !important;
  height: 16px !important;
  background: rgba(255, 255, 255, 0.22) !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-chat-name {
  min-width: 0;
  font-size: 17px;
  font-weight: 800;
  color: var(--x-text-main);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.Fairy-twitter-chat-substatus {
  font-size: 11px;
  color: #1d9bf0;
  font-weight: 600;
  margin-top: 1px;
  line-height: 14px;
}

.Fairy-twitter-page-head-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 4px !important;
}

.Fairy-twitter-chat-action {
  width: 32px !important;
  height: 32px !important;
  display: grid !important;
  place-items: center !important;
  background: none !important;
  border: none !important;
  cursor: pointer;
  color: var(--x-text-main);
  flex-shrink: 0 !important;
}

.Fairy-twitter-chat-action .Fairy-twitter-icon {
  width: 20px !important;
  height: 20px !important;
}

.Fairy-twitter-chat-body {
  position: absolute;
  inset: calc(76px + env(safe-area-inset-top, 0px)) 0 68px !important;
  overflow-y: auto;
  padding: 16px 14px;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px;
  scrollbar-width: none;
  background: #ffffff;
}

.Fairy-twitter-chat-body::-webkit-scrollbar {
  display: none;
}

/* 空聊天卡片：无消息时居中显示，有消息时不显示 */
.Fairy-twitter-chat-empty-card {
  margin: auto 0;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  padding: 24px 16px;
}

.Fairy-twitter-chat-empty-meta {
  font-size: 14px;
  color: var(--x-text-sub);
  line-height: 22px;
}

.Fairy-twitter-chat-view-profile-btn {
  margin-top: 14px;
  height: 36px !important;
  padding: 0 22px !important;
  border-radius: 18px !important;
  background: #cfd9de !important;
  color: #0f1419 !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  border: none !important;
  cursor: pointer !important;
}

.Fairy-twitter-chat-day {
  align-self: center;
  margin: 5px 0 8px;
  color: var(--x-text-sub);
  font-size: 11px;
}

.Fairy-twitter-chat-bubble {
  max-width: 78%;
  padding: 9px 13px;
  border-radius: 18px !important;
  font-size: 15px;
  line-height: 20px;
  white-space: pre-wrap;
  word-break: break-word;
}

.Fairy-twitter-chat-bubble.them {
  align-self: flex-start;
  background: #eff3f4;
  border-bottom-left-radius: 4px !important;
}

.Fairy-twitter-chat-bubble.me {
  align-self: flex-end;
  background: var(--x-theme-blue) !important;
  color: #ffffff !important;
  border-bottom-right-radius: 4px !important;
}

.Fairy-twitter-chat-status {
  align-self: flex-end;
  color: var(--x-text-sub);
  font-size: 10px;
  margin-right: 4px;
}

/* 底部输入区：恢复自适应高度，防止输入框下半部分被截断 */
.Fairy-twitter-chat-composer {
  position: absolute;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 64px !important;
  border-top: none !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
}

/* iOS 质感微信同步拨动开关 */
.Fairy-twitter-ios-switch {
  position: relative;
  display: inline-block;
  width: 48px;
  height: 28px;
  flex-shrink: 0;
}

.Fairy-twitter-ios-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.Fairy-twitter-ios-slider {
  position: absolute;
  cursor: pointer;
  inset: 0;
  background-color: #e2e8f0;
  border-radius: 28px;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.Fairy-twitter-ios-slider::before {
  position: absolute;
  content: "";
  height: 22px;
  width: 22px;
  left: 3px;
  bottom: 3px;
  background-color: #ffffff;
  border-radius: 50%;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.Fairy-twitter-ios-switch input:checked + .Fairy-twitter-ios-slider {
  background-color: #07c160 !important;
}

.Fairy-twitter-ios-switch input:checked + .Fairy-twitter-ios-slider::before {
  transform: translateX(20px);
}

.Fairy-twitter-chat-plus {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: #eff3f4 !important;
  color: #0f1419 !important;
  display: grid !important;
  place-items: center !important;
  border: none !important;
  cursor: pointer;
  flex: 0 0 40px !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-chat-plus .Fairy-twitter-icon {
  width: 22px !important;
  height: 22px !important;
}

.Fairy-twitter-chat-capsule {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: 40px !important;
  border: 1.5px solid #a5d0f5 !important;
  border-radius: 20px !important;
  background: #eff3f4 !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 10px 0 14px !important;
  gap: 6px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.Fairy-twitter-chat-input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  outline: none !important;
  background: transparent !important;
  font-size: 15px !important;
  color: var(--x-text-main) !important;
  padding: 0 !important;
  margin: 0 !important;
  resize: none !important;
  line-height: normal !important;
  box-sizing: border-box !important;
}

.Fairy-twitter-chat-input::placeholder {
  color: var(--x-text-sub);
}

.Fairy-twitter-chat-send {
  width: 32px !important;
  height: 32px !important;
  background: transparent !important;
  display: grid !important;
  place-items: center !important;
  border: none !important;
  cursor: pointer;
  flex-shrink: 0 !important;
  padding: 0 !important;
}

.Fairy-twitter-chat-send-plane-circle {
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: var(--x-theme-blue) !important;
  display: grid !important;
  place-items: center !important;
}

.Fairy-twitter-chat-send:disabled {
  color: #0f1419 !important;
  opacity: 1 !important;
}

.Fairy-twitter-chat-send .Fairy-twitter-icon {
  width: 20px !important;
  height: 20px !important;
}

.Fairy-twitter-page.Fairy-twitter-chat-open #xViewMessages {
  inset: 0;
}

.Fairy-twitter-page.Fairy-twitter-chat-open .Fairy-twitter-dock,
.Fairy-twitter-page.Fairy-twitter-chat-open .Fairy-twitter-fab {
  display: none !important;
}

/* 底部 Dock 导航栏（5列等宽自适应） */
.Fairy-twitter-dock {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: calc(61px + env(safe-area-inset-bottom, 0px));
  padding: 0 8px env(safe-area-inset-bottom, 0px);
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  align-items: center !important;
  border-top: 0.5px solid var(--x-border-color);
  background: rgba(255, 255, 255, 0.98);
  z-index: 16;
}

.Fairy-twitter-dock-item {
  height: 60px !important;
  display: grid !important;
  place-items: center !important;
  color: var(--x-text-main);
  position: relative;
  background: none;
  border: none;
  cursor: pointer;
}

.Fairy-twitter-dock-line,
.Fairy-twitter-dock-fill {
  grid-area: 1/1;
  display: grid !important;
  place-items: center !important;
}

.Fairy-twitter-dock-fill {
  display: none !important;
}

.Fairy-twitter-dock-item.is-active {
  color: var(--x-text-main);
}

.Fairy-twitter-dock-item.is-active .Fairy-twitter-dock-line {
  display: none !important;
}

.Fairy-twitter-dock-item.is-active .Fairy-twitter-dock-fill {
  display: grid !important;
}

.Fairy-twitter-dock-item .Fairy-twitter-icon,
.Fairy-twitter-dock-item .Fairy-twitter-fa-solid {
  width: 25px !important;
  height: 25px !important;
}

/* Grok 专属高亮圆角背景与变白特效 */
.Fairy-twitter-dock-item[data-x-tab="grok"] {
  display: grid !important;
  place-items: center !important;
}

.Fairy-twitter-dock-item[data-x-tab="grok"] .Fairy-twitter-grok-dock-wrap {
  width: 44px !important;
  height: 34px !important;
  border-radius: 12px !important;
  display: grid !important;
  place-items: center !important;
  background: transparent;
  color: var(--x-text-main);
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.Fairy-twitter-dock-item[data-x-tab="grok"] .Fairy-twitter-icon {
  width: 32px !important;
  height: 32px !important;
}

.Fairy-twitter-dock-item[data-x-tab="grok"].is-active .Fairy-twitter-grok-dock-wrap {
  background: #0f1419 !important; /* 激活时黑色圆角背景包裹 */
  color: #ffffff !important;      /* 图标变成白色 */
}

/* 发帖悬浮按钮 (FAB) */
.Fairy-twitter-fab {
  position: absolute;
  right: 17px;
  bottom: calc(74px + env(safe-area-inset-bottom, 0px));
  z-index: 15;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: var(--x-theme-blue) !important;
  color: #fff !important;
  display: grid;
  place-items: center !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
  border: none !important;
  cursor: pointer;
  flex-shrink: 0 !important;
}

.Fairy-twitter-fab .Fairy-twitter-icon {
  width: 27px !important;
  height: 27px !important;
  stroke-width: 2.25;
}

/* 左侧抽屉菜单 */
.Fairy-twitter-drawer-layer {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 999 !important;
  background: rgba(0, 0, 0, 0.4);
}

.Fairy-twitter-drawer-layer.is-open {
  display: block;
}

.Fairy-twitter-drawer {
  width: 82%;
  max-width: 338px;
  height: 100%;
  background: #fff;
  padding: calc(42px + env(safe-area-inset-top, 0px)) 20px calc(18px + env(safe-area-inset-bottom, 0px));
  box-shadow: 2px 0 16px rgba(0, 0, 0, 0.12);
  overflow-y: auto;
  display: flex !important;
  flex-direction: column !important;
}

.Fairy-twitter-drawer-header-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100%;
}

.Fairy-twitter-drawer-header-row .Fairy-twitter-avatar {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
}

.Fairy-twitter-drawer-more-btn {
  width: 32px !important;
  height: 32px !important;
  display: grid !important;
  place-items: center !important;
  color: var(--x-text-main);
  background: none;
  border: none;
  cursor: pointer;
  flex-shrink: 0 !important;
}

.Fairy-twitter-drawer-more-btn .Fairy-twitter-icon {
  width: 24px !important;
  height: 24px !important;
}

.Fairy-twitter-drawer-profile {
  width: 100%;
  margin-top: 10px;
  display: block !important;
  text-align: left !important;
  background: none;
  border: none;
  cursor: pointer;
  color: inherit;
}

.Fairy-twitter-drawer-name {
  font-size: 19px;
  font-weight: 800;
  line-height: 24px;
  text-align: left;
  color: var(--x-text-main);
}

.Fairy-twitter-drawer-handle {
  margin-top: 2px;
  color: var(--x-text-sub);
  font-size: 14px;
  text-align: left;
}

.Fairy-twitter-drawer-counts {
  display: flex !important;
  justify-content: flex-start !important;
  gap: 14px;
  margin-top: 12px;
  font-size: 14px;
  color: var(--x-text-sub);
  text-align: left;
}

.Fairy-twitter-drawer-counts strong {
  color: var(--x-text-main);
  font-weight: 750;
}

.Fairy-twitter-drawer-items {
  margin-top: 16px;
  border-top: 0.5px solid var(--x-border-color);
  padding-top: 10px;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px;
}

.Fairy-twitter-drawer-item {
  width: 100% !important;
  min-height: 48px;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 20px;
  font-size: 17px;
  font-weight: 750;
  text-align: left !important;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--x-text-main);
}

.Fairy-twitter-drawer-item .Fairy-twitter-icon {
  width: 22px !important;
  height: 22px !important;
  stroke-width: 2;
  color: var(--x-text-main);
}

/* 仿 iOS 灵动岛 AI 推演生成悬浮胶囊 */
.Fairy-twitter-island-pill {
  position: absolute !important;
  top: calc(14px + env(safe-area-inset-top, 0px)) !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(-60px) scale(0.85);
  background: #000000 !important;
  color: #ffffff !important;
  height: 38px !important;
  padding: 0 16px !important;
  border-radius: 19px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  z-index: 99999 !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35) !important;
  opacity: 0;
  pointer-events: none;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease;
}

.Fairy-twitter-island-pill.is-visible {
  transform: translateX(-50%) translateY(0) scale(1);
  opacity: 1;
}

.Fairy-twitter-island-spinner {
  width: 14px !important;
  height: 14px !important;
  border: 2px solid rgba(255, 255, 255, 0.25);
  border-top-color: #1d9bf0 !important;
  border-radius: 50%;
  animation: FairyIslandSpin 0.7s linear infinite;
  flex-shrink: 0;
}

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

.Fairy-twitter-island-text {
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: -0.2px;
  white-space: nowrap;
}

.Fairy-twitter-drawer-bottom {
  margin-top: auto;
  padding-top: 12px;
  border-top: 0.5px solid var(--x-border-color);
  display: flex !important;
  flex-direction: column !important;
  gap: 2px;
}

.Fairy-twitter-drawer-bottom .Fairy-twitter-drawer-item {
  min-height: 44px;
  font-size: 16px;
  font-weight: 700;
  color: var(--x-text-main);
  gap: 18px;
}

.Fairy-twitter-drawer-bottom .Fairy-twitter-drawer-item .Fairy-twitter-icon {
  width: 20px !important;
  height: 20px !important;
  color: var(--x-text-main);
}

.Fairy-twitter-drawer-theme {
  width: 36px !important;
  height: 36px !important;
  margin-top: 10px;
  display: grid !important;
  place-items: center !important;
  color: var(--x-text-main);
  background: none;
  border: none;
  cursor: pointer;
  align-self: flex-start;
  flex-shrink: 0 !important;
}

.Fairy-twitter-drawer-theme .Fairy-twitter-icon {
  width: 22px !important;
  height: 22px !important;
}

/* 发帖编辑器弹出层（提升层级至 50，保证在社群详情页之上顺畅弹出） */
.Fairy-twitter-compose-layer {
  display: none;
  position: absolute;
  inset: 0;
  background: #fff;
  z-index: 99 !important;
}

.Fairy-twitter-compose-layer.is-open {
  display: block;
}

.Fairy-twitter-compose-head {
  height: calc(76px + env(safe-area-inset-top, 0px)) !important;
  padding: calc(20px + env(safe-area-inset-top, 0px)) 16px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.Fairy-twitter-compose-cancel {
  width: 32px !important;
  height: 32px !important;
  display: grid !important;
  place-items: center !important;
  background: none !important;
  border: none !important;
  cursor: pointer;
  color: #0f1419 !important;
  padding: 0 !important;
}

.Fairy-twitter-compose-cancel .Fairy-twitter-icon {
  width: 22px !important;
  height: 22px !important;
}

.Fairy-twitter-compose-post {
  height: 34px !important;
  padding: 0 18px !important;
  border-radius: 9999px !important;
  background: #1d9bf0 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  border: none !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
  transition: background 0.18s ease, opacity 0.18s ease;
}

.Fairy-twitter-compose-post:disabled {
  background: #71c9f8 !important;
  opacity: 0.55 !important;
  cursor: default !important;
}

.Fairy-twitter-compose-body {
  position: absolute;
  inset: calc(76px + env(safe-area-inset-top, 0px)) 0 100px !important;
  padding: 10px 16px 0;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  gap: 10px;
  overflow-y: auto;
}

/* 图2：所有人可以回复提示条 */
.Fairy-twitter-compose-reply-bar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 59px;
  height: 40px;
  padding: 0 16px;
  display: flex !important;
  align-items: center !important;
  gap: 8px;
  color: #1d9bf0;
  font-size: 14px;
  font-weight: 700;
  border-top: 0.5px solid var(--x-border-color);
  background: #ffffff;
}

.Fairy-twitter-compose-reply-bar .Fairy-twitter-icon {
  width: 17px !important;
  height: 17px !important;
}

.Fairy-twitter-compose-body > .Fairy-twitter-avatar {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  margin-top: 4px;
  flex-shrink: 0 !important;
}

.Fairy-twitter-compose-editor {
  min-width: 0;
  min-height: 100%;
  display: flex !important;
  flex-direction: column !important;
}

.Fairy-twitter-compose-audience {
  align-self: flex-start;
  height: 28px !important;
  padding: 0 11px !important;
  margin: 0 0 4px;
  border: 1px solid var(--x-border-darker) !important;
  border-radius: 14px !important;
  color: var(--x-theme-blue) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px;
  font-size: 13px;
  font-weight: 700;
  background: transparent !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
}

.Fairy-twitter-compose-audience .Fairy-twitter-icon {
  width: 13px !important;
  height: 13px !important;
  stroke-width: 2.4;
}

.Fairy-twitter-compose-editor textarea {
  width: 100%;
  min-height: 150px;
  border: 0 !important;
  outline: 0 !important;
  resize: none;
  font-size: 20px;
  line-height: 26px;
  padding: 5px 0 12px;
  color: var(--x-text-main);
  background: transparent !important;
}

.Fairy-twitter-compose-editor textarea::placeholder {
  color: var(--x-text-sub);
}

.Fairy-twitter-compose-media-preview {
  display: none;
  position: relative;
  margin: 3px 0 10px;
  border: 1px solid var(--x-border-darker) !important;
  border-radius: 15px !important;
  overflow: hidden;
  aspect-ratio: 16/10;
  background: #eff3f4 !important;
}

.Fairy-twitter-compose-media-preview.is-visible {
  display: block;
}

.Fairy-twitter-compose-media-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.Fairy-twitter-compose-media-remove {
  position: absolute;
  right: 8px;
  top: 8px;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: rgba(15, 20, 25, 0.75) !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
  border: none !important;
  cursor: pointer;
  flex-shrink: 0 !important;
}

.Fairy-twitter-compose-media-remove .Fairy-twitter-icon {
  width: 17px !important;
  height: 17px !important;
}

.Fairy-twitter-compose-poll {
  display: none;
  margin: 3px 0 10px;
  border: 1px solid var(--x-border-darker) !important;
  border-radius: 14px !important;
  padding: 10px;
  background: #fff;
}

.Fairy-twitter-compose-poll.is-visible {
  display: block;
}

.Fairy-twitter-compose-poll input {
  width: 100%;
  height: 38px !important;
  border: 1px solid var(--x-border-darker) !important;
  border-radius: 8px !important;
  padding: 0 10px !important;
  outline: 0 !important;
  font-size: 15px;
  background: #fff !important;
  line-height: normal !important;
}

.Fairy-twitter-compose-poll input + input {
  margin-top: 7px;
}

.Fairy-twitter-compose-location-chip {
  display: none;
  align-self: flex-start;
  margin: 0 0 8px;
  color: var(--x-theme-blue);
  font-size: 13px;
  font-weight: 650;
}

.Fairy-twitter-compose-location-chip.is-visible {
  display: flex !important;
  align-items: center !important;
  gap: 4px;
}

.Fairy-twitter-compose-location-chip .Fairy-twitter-icon {
  width: 15px !important;
  height: 15px !important;
}

.Fairy-twitter-compose-reply {
  height: 42px;
  display: flex !important;
  align-items: center !important;
  gap: 6px;
  color: var(--x-theme-blue);
  font-size: 13px;
  font-weight: 650;
  border-bottom: 0.5px solid var(--x-border-color);
}

.Fairy-twitter-compose-reply .Fairy-twitter-icon {
  width: 16px !important;
  height: 16px !important;
  stroke-width: 2;
}

.Fairy-twitter-compose-footer {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 59px;
  padding: 0 16px;
  border-top: 0.5px solid var(--x-border-color);
  background: #fff;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
}

.Fairy-twitter-compose-tools {
  height: 58px;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  color: var(--x-theme-blue);
}

.Fairy-twitter-compose-tool {
  flex: 1 !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  background: none;
  border: none;
  cursor: pointer;
  color: inherit;
  padding: 0 !important;
}

.Fairy-twitter-compose-tool .Fairy-twitter-icon {
  width: 20px !important;
  height: 20px !important;
  stroke-width: 1.9;
}

.Fairy-twitter-compose-tool-gif {
  font-size: 9px;
  font-weight: 900;
  letter-spacing: -0.2px;
  border: 1.6px solid currentColor !important;
  border-radius: 3px !important;
  width: 19px !important;
  height: 15px !important;
  display: grid !important;
  place-items: center !important;
}

.Fairy-twitter-compose-progress-wrap {
  position: absolute;
  right: 10px;
  display: flex !important;
  align-items: center !important;
  gap: 9px;
}

.Fairy-twitter-compose-progress {
  --Fairy-twitter-progress: 0deg;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  background: conic-gradient(var(--x-theme-blue) var(--Fairy-twitter-progress), #eff3f4 0) !important;
  position: relative;
  flex-shrink: 0 !important;
}

.Fairy-twitter-compose-progress::after {
  content: "";
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: #fff;
}

.Fairy-twitter-compose-count {
  position: relative;
  z-index: 1;
  color: var(--x-text-sub);
  font-size: 8px;
}

.Fairy-twitter-compose-add {
  width: 28px !important;
  height: 28px !important;
  border: 1px solid var(--x-border-darker) !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  color: var(--x-theme-blue) !important;
  background: none !important;
  cursor: pointer;
  flex-shrink: 0 !important;
}

.Fairy-twitter-compose-add .Fairy-twitter-icon {
  width: 15px !important;
  height: 15px !important;
}

/* 推文详情弹出层（提升层级至 45，保证在社群详情页中点击推文时可在顶层展示） */
.Fairy-twitter-detail-layer {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 45 !important;
  background: #fff;
}

.Fairy-twitter-detail-layer.is-over-profile {
  z-index: 45 !important;
}

.Fairy-twitter-detail-layer.is-open {
  display: block;
}

.Fairy-twitter-detail-head {
  height: calc(76px + env(safe-area-inset-top, 0px)) !important;
  padding: calc(20px + env(safe-area-inset-top, 0px)) 14px 0 !important;
  display: flex !important;
  align-items: center !important;
  border-bottom: 0.5px solid var(--x-border-color);
  background: rgba(255, 255, 255, 0.98);
  position: absolute;
  inset: 0 0 auto;
  z-index: 4;
}

.Fairy-twitter-detail-back {
  display: inline-flex !important;
  align-items: center !important;
  gap: 18px;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--x-text-main);
  font-size: 19px;
  font-weight: 800;
}

.Fairy-twitter-detail-back .Fairy-twitter-icon {
  width: 22px !important;
  height: 22px !important;
}

.Fairy-twitter-detail-scroll {
  position: absolute;
  inset: calc(76px + env(safe-area-inset-top, 0px)) 0 0 !important;
  overflow-y: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 78px;
}

.Fairy-twitter-detail-scroll::-webkit-scrollbar {
  display: none;
}

.Fairy-twitter-detail-main {
  padding: 12px 15px 0;
  border-bottom: 0.5px solid var(--x-border-color);
}

.Fairy-twitter-detail-author {
  display: flex !important;
  align-items: center !important;
  gap: 10px;
  min-width: 0;
}

.Fairy-twitter-detail-author .Fairy-twitter-avatar {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  flex: 0 0 40px !important;
  flex-shrink: 0 !important;
  cursor: pointer;
}

.Fairy-twitter-detail-author-copy {
  flex: 1;
  min-width: 0;
  cursor: pointer;
}

.Fairy-twitter-detail-author-name {
  display: flex !important;
  align-items: center !important;
  gap: 2px;
  font-size: 15px;
  font-weight: 800;
  line-height: 19px;
}

.Fairy-twitter-detail-author-handle {
  color: var(--x-text-sub);
  font-size: 14px;
  line-height: 18px;
}

.Fairy-twitter-detail-author-right {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
  margin-left: auto;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-detail-follow {
  height: 32px !important;
  padding: 0 17px !important;
  border-radius: 9999px !important;
  background: var(--x-text-main) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  border: 1px solid var(--x-text-main) !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
}

.Fairy-twitter-detail-follow:not(.is-follow) {
  background: #fff !important;
  color: var(--x-text-main) !important;
  border-color: var(--x-border-darker) !important;
}

.Fairy-twitter-detail-more {
  width: 32px !important;
  height: 32px !important;
  color: #8899a6;
  display: grid !important;
  place-items: center !important;
  background: none;
  border: none;
  cursor: pointer;
  flex-shrink: 0 !important;
}

.Fairy-twitter-detail-more .Fairy-twitter-icon {
  width: 20px !important;
  height: 20px !important;
}

.Fairy-twitter-detail-text {
  margin-top: 14px;
  font-size: 18px;
  line-height: 24px;
  letter-spacing: -0.12px;
  white-space: pre-wrap;
  word-break: break-word;
}

.Fairy-twitter-detail-main .Fairy-twitter-post-media {
  margin-top: 13px;
  border-radius: 14px !important;
}

.Fairy-twitter-detail-time {
  padding: 13px 0 11px;
  color: var(--x-text-sub);
  font-size: 14px;
  line-height: 19px;
  border-bottom: 0.5px solid var(--x-border-color);
}

.Fairy-twitter-detail-time strong {
  color: var(--x-text-main);
  font-weight: 700;
}

.Fairy-twitter-detail-actions {
  min-height: 50px;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  align-items: center !important;
  color: var(--x-text-sub);
}

.Fairy-twitter-detail-actions .Fairy-twitter-post-action {
  justify-content: center !important;
  gap: 5px !important;
  min-width: 0;
}

.Fairy-twitter-detail-actions .Fairy-twitter-icon,
.Fairy-twitter-detail-actions .Fairy-twitter-fa-solid {
  width: 23px !important;
  height: 23px !important;
}

/* 单独放大推文详情页面的点赞爱心图标 */
.Fairy-twitter-detail-actions .Fairy-twitter-post-action[data-x-action="like"] .Fairy-twitter-icon,
.Fairy-twitter-detail-actions .Fairy-twitter-post-action[data-x-action="like"] .Fairy-twitter-fa-solid {
  width: 22px !important;
  height: 22px !important;
  flex: 0 0 22px !important;
}

/* 单独放大推文详情页面的转帖图标 */
.Fairy-twitter-detail-actions .Fairy-twitter-post-action[data-x-action="repost"] .Fairy-twitter-icon {
  width: 26px !important;
  height: 26px !important;
  flex: 0 0 26px !important;
}

/* 单独放大推文详情页面的评论图标 */
.Fairy-twitter-detail-actions .Fairy-twitter-post-action[data-x-action="reply"] .Fairy-twitter-icon {
  width: 26px !important;
  height: 26px !important;
  flex: 0 0 26px !important;
}

/* 单独放大推文详情页面的分享图标 */
.Fairy-twitter-detail-actions .Fairy-twitter-post-action:last-child .Fairy-twitter-icon {
  width: 27px !important;
  height: 27px !important;
  flex: 0 0 27px !important;
}

.Fairy-twitter-detail-actions .Fairy-twitter-post-action span {
  font-size: 12px;
  line-height: 16px;
  min-width: 8px;
}

/* 详情页底部快速回复栏：垂直居中优化 */
.Fairy-twitter-detail-reply-box {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: calc(10px + env(safe-area-inset-bottom, 0px));
  z-index: 20;
  background: #fff !important;
  border: 1px solid var(--x-border-darker) !important;
  border-radius: 9999px !important;
  padding: 6px 12px 6px 7px !important;
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.08);
  transition: border-radius 0.2s ease, padding 0.2s ease;
  display: flex !important;
  flex-direction: column !important;
}

.Fairy-twitter-detail-reply-box.is-expanded {
  border-radius: 18px !important;
  padding: 10px 12px 8px !important;
}

.Fairy-twitter-detail-reply-top-row {
  display: flex !important;
  align-items: center !important;
  gap: 9px;
  width: 100%;
}

.Fairy-twitter-detail-reply-box .Fairy-twitter-avatar {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  flex: 0 0 32px !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-detail-reply-input {
  flex: 1;
  min-width: 0;
  height: 32px;
  border: 0 !important;
  outline: 0 !important;
  resize: none;
  padding: 6px 0 !important;
  font-size: 15px;
  line-height: 20px !important;
  background: transparent !important;
  color: var(--x-text-main);
}

.Fairy-twitter-detail-reply-input::placeholder {
  color: var(--x-text-sub);
}

.Fairy-twitter-detail-reply-collapsed-tools {
  display: flex !important;
  align-items: center !important;
  gap: 12px;
  color: var(--x-text-sub);
  flex-shrink: 0;
}

.Fairy-twitter-detail-reply-box.is-expanded .Fairy-twitter-detail-reply-collapsed-tools .Fairy-twitter-detail-reply-icon-btn:not([data-x-reply-expand]) {
  display: none !important;
}

.Fairy-twitter-detail-reply-bottom-row {
  display: none;
  align-items: center !important;
  justify-content: space-between !important;
  margin-top: 10px;
  padding-top: 6px;
}

.Fairy-twitter-detail-reply-box.is-expanded .Fairy-twitter-detail-reply-bottom-row {
  display: flex !important;
}

.Fairy-twitter-detail-reply-bottom-tools {
  display: flex !important;
  align-items: center !important;
  gap: 14px;
  color: var(--x-theme-blue);
}

.Fairy-twitter-detail-reply-icon-btn {
  width: 26px !important;
  height: 26px !important;
  display: grid !important;
  place-items: center !important;
  background: none;
  border: none;
  cursor: pointer;
  color: inherit;
  padding: 0;
  flex-shrink: 0 !important;
}

.Fairy-twitter-detail-reply-icon-btn .Fairy-twitter-icon {
  width: 20px !important;
  height: 20px !important;
}

.Fairy-twitter-detail-reply-send {
  height: 32px !important;
  padding: 0 18px !important;
  border-radius: 9999px !important;
  background: var(--x-theme-blue) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  border: none !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
}

.Fairy-twitter-detail-reply-send:disabled {
  opacity: 0.45;
  cursor: default;
}

.Fairy-twitter-detail-replies .Fairy-twitter-post {
  grid-template-columns: 43px minmax(0, 1fr) !important;
  padding-top: 11px;
}

.Fairy-twitter-detail-replies .Fairy-twitter-post-text {
  margin-top: 1px;
}

.Fairy-twitter-detail-replies .Fairy-twitter-post-actions {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  margin-right: -3px;
}

.Fairy-twitter-detail-replies .Fairy-twitter-post-action {
  gap: 3px !important;
}

.Fairy-twitter-detail-replies .Fairy-twitter-post-action .Fairy-twitter-icon,
.Fairy-twitter-detail-replies .Fairy-twitter-post-action .Fairy-twitter-fa-solid {
  width: 16.5px !important;
  height: 16.5px !important;
}

.Fairy-twitter-detail-replies .Fairy-twitter-post-action span {
  font-size: 11px;
}

/* 全屏回复弹出层（层级提升至 75，高于所有详情页与抽屉页） */
.Fairy-twitter-reply-fullscreen-layer {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 75 !important;
  background: #fff;
  flex-direction: column !important;
}

.Fairy-twitter-reply-fullscreen-layer.is-open {
  display: flex !important;
}

.Fairy-twitter-reply-fullscreen-head {
  height: calc(76px + env(safe-area-inset-top, 0px)) !important;
  padding: calc(20px + env(safe-area-inset-top, 0px)) 16px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.Fairy-twitter-reply-fullscreen-close {
  width: 36px !important;
  height: 36px !important;
  display: grid !important;
  place-items: center !important;
  color: var(--x-text-main);
  background: none;
  border: none;
  cursor: pointer;
  flex-shrink: 0 !important;
}

.Fairy-twitter-reply-fullscreen-close .Fairy-twitter-icon {
  width: 20px !important;
  height: 20px !important;
}

.Fairy-twitter-reply-fullscreen-send {
  height: 34px !important;
  padding: 0 18px !important;
  border-radius: 9999px !important;
  background: #1d9bf0 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  border: none !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
  transition: background 0.18s ease, opacity 0.18s ease;
}

.Fairy-twitter-reply-fullscreen-send:disabled {
  background: #71c9f8 !important;
  opacity: 0.55 !important;
  cursor: default !important;
}

/* 放大评论图标 */
.Fairy-twitter-post-action[data-x-action="reply"] .Fairy-twitter-icon,
.Fairy-twitter-post-action[data-x-reply-action="reply"] .Fairy-twitter-icon {
  width: 19px !important;
  height: 19px !important;
}

.Fairy-twitter-reply-fullscreen-body {
  flex: 1;
  overflow-y: auto;
  padding: 10px 16px 20px;
  position: relative;
}

/* 全屏回复：原帖内容与贯穿连接线 */
.Fairy-twitter-reply-fullscreen-parent {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) !important;
  gap: 10px;
  position: relative;
}

.Fairy-twitter-reply-fullscreen-parent-col {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.Fairy-twitter-reply-fullscreen-parent-col .Fairy-twitter-avatar {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  z-index: 2;
}

.Fairy-twitter-reply-fullscreen-line {
  position: absolute;
  top: 40px;
  bottom: -22px;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  background: #cfd9de;
  z-index: 1;
}

.Fairy-twitter-reply-fullscreen-parent-main {
  min-width: 0;
  padding-top: 2px;
}

.Fairy-twitter-reply-fullscreen-parent-head {
  display: flex !important;
  align-items: center !important;
  font-size: 15px;
  line-height: 20px;
}

.Fairy-twitter-reply-fullscreen-parent-name {
  font-weight: 750;
  color: var(--x-text-main);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.Fairy-twitter-reply-fullscreen-parent-handle,
.Fairy-twitter-reply-fullscreen-parent-time {
  color: var(--x-text-sub);
  margin-left: 4px;
}

.Fairy-twitter-reply-fullscreen-parent-text {
  margin-top: 4px;
  font-size: 15px;
  line-height: 20px;
  color: var(--x-text-main);
  white-space: pre-wrap;
  word-break: break-word;
}

.Fairy-twitter-reply-fullscreen-replying-to {
  margin-top: 8px;
  font-size: 14px;
  color: var(--x-text-sub);
}

.Fairy-twitter-reply-fullscreen-replying-to .Fairy-twitter-reply-handle {
  color: var(--x-theme-blue);
  font-weight: 500;
}

.Fairy-twitter-reply-fullscreen-editor-row {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) !important;
  gap: 10px;
  align-items: flex-start !important;
  margin-top: 14px;
}

.Fairy-twitter-reply-fullscreen-avatar {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  flex: 0 0 40px !important;
  flex-shrink: 0 !important;
  position: relative;
  z-index: 2;
}

.Fairy-twitter-reply-fullscreen-input {
  width: 100%;
  min-height: 160px;
  border: 0 !important;
  outline: 0 !important;
  resize: none;
  font-size: 18px;
  line-height: 24px;
  color: var(--x-text-main);
  padding-top: 4px;
  background: transparent !important;
}


.Fairy-twitter-reply-fullscreen-input::placeholder {
  color: var(--x-text-sub);
}

.Fairy-twitter-reply-fullscreen-footer {
  height: 48px;
  padding: 0 14px;
  border-top: 0.5px solid var(--x-border-color);
  display: flex !important;
  align-items: center !important;
  background: #fff;
}

.Fairy-twitter-reply-fullscreen-tools {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100%;
  color: var(--x-theme-blue);
}

.Fairy-twitter-reply-tool-btn {
  width: 32px !important;
  height: 32px !important;
  display: grid !important;
  place-items: center !important;
  background: none;
  border: none;
  cursor: pointer;
  color: inherit;
  flex-shrink: 0 !important;
}

.Fairy-twitter-reply-tool-btn .Fairy-twitter-icon {
  width: 21px !important;
  height: 21px !important;
}

/* 详情页 ActionSheet 菜单与全局分享弹窗（层级提升至 90，确保全局最顶层展示） */
.Fairy-twitter-actionsheet-layer {
  display: none;
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 90 !important;
}

.Fairy-twitter-actionsheet-layer.is-open {
  display: block;
}

.Fairy-twitter-actionsheet {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  border-radius: 20px 20px 0 0 !important;
  padding: 12px 0 calc(16px + env(safe-area-inset-bottom, 0px));
  box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.15);
  max-height: 85vh;
  overflow-y: auto;
}

.Fairy-twitter-actionsheet-handle {
  width: 36px;
  height: 4px;
  border-radius: 2px !important;
  background: var(--x-border-darker) !important;
  margin: 0 auto 12px;
}

.Fairy-twitter-actionsheet-item {
  width: 100% !important;
  min-height: 50px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 16px !important;
  padding: 0 20px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--x-text-main) !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  text-align: left !important;
}

.Fairy-twitter-actionsheet-item .Fairy-twitter-icon {
  width: 22px !important;
  height: 22px !important;
  color: var(--x-text-sub) !important;
  flex: 0 0 22px !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
}

/* 个人资料主页 */
.Fairy-twitter-profile-layer {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 33;
  background: #fff;
}

.Fairy-twitter-profile-layer.is-open {
  display: block;
}

.Fairy-twitter-profile-head {
  height: calc(76px + env(safe-area-inset-top, 0px)) !important;
  padding: calc(20px + env(safe-area-inset-top, 0px)) 12px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border-bottom: none !important;
  background: transparent !important;
  position: absolute;
  inset: 0 0 auto;
  z-index: 10;
  pointer-events: none !important;
}

.Fairy-twitter-profile-back,
.Fairy-twitter-profile-head-action {
  width: 36px !important;
  height: 36px !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(15, 20, 25, 0.6) !important;
  border-radius: 50% !important;
  border: none !important;
  cursor: pointer;
  color: #ffffff !important;
  flex-shrink: 0 !important;
  pointer-events: auto !important;
}

.Fairy-twitter-profile-head-right {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  pointer-events: auto !important;
}

.Fairy-twitter-profile-back .Fairy-twitter-icon,
.Fairy-twitter-profile-head-action .Fairy-twitter-icon {
  width: 20px !important;
  height: 20px !important;
}

.Fairy-twitter-profile-head-center {
  display: none !important;
}

.Fairy-twitter-profile-head-name {
  font-size: 18px;
  font-weight: 800;
  line-height: 20px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.Fairy-twitter-profile-head-posts {
  color: var(--x-text-sub);
  font-size: 12px;
  line-height: 16px;
}

.Fairy-twitter-profile-scroll {
  position: absolute;
  inset: 0 0 0 !important;
  overflow-y: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.Fairy-twitter-profile-scroll::-webkit-scrollbar {
  display: none;
}

.Fairy-twitter-profile-cover {
  height: 155px !important;
  background: var(--global-image-placeholder, #cfd9de) !important;
  background-image: none !important;
  position: relative;
  overflow: hidden;
}

.Fairy-twitter-profile-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, rgba(255, 255, 255, 0.1), transparent 52%);
}

.Fairy-twitter-profile-cover.is-brand {
  background: #000 !important;
}

.Fairy-twitter-profile-info {
  padding: 44px 15px 13px;
  position: relative;
}

.Fairy-twitter-profile-info .Fairy-twitter-avatar-large {
  position: absolute;
  left: 15px;
  top: -39px;
  width: 78px !important;
  height: 78px !important;
  min-width: 78px !important;
  min-height: 78px !important;
  margin: 0;
  border: 4px solid #fff;
  flex: 0 0 78px !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-profile-actions {
  position: absolute;
  right: 15px;
  top: 10px;
  display: flex !important;
  align-items: center !important;
  gap: 8px;
}

.Fairy-twitter-profile-round-action {
  width: 36px !important;
  height: 36px !important;
  border: 1px solid var(--x-border-darker) !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  background: #ffffff !important;
  cursor: pointer;
  color: var(--x-text-main) !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-profile-round-action .Fairy-twitter-icon {
  width: 24px !important;
  height: 24px !important;
  flex: 0 0 24px !important;
}

.Fairy-twitter-profile-head-action .Fairy-twitter-icon {
  width: 22px !important;
  height: 22px !important;
  flex: 0 0 22px !important;
}

/* 个人主页统计下方整排双胶囊按钮网格 */
.Fairy-twitter-profile-btn-row {
  margin-top: 14px;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px;
  width: 100%;
}

.Fairy-twitter-profile-capsule-btn {
  height: 36px !important;
  width: 100% !important;
  border-radius: 9999px !important;
  font-size: 15px !important;
  font-weight: 750 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--x-border-darker) !important;
  background: #ffffff !important;
  color: var(--x-text-main) !important;
  cursor: pointer;
  white-space: nowrap !important;
  line-height: 1 !important;
}

.Fairy-twitter-profile-capsule-btn.is-follow-active {
  background: var(--x-text-main) !important;
  color: #ffffff !important;
  border-color: var(--x-text-main) !important;
}

.Fairy-twitter-name-row {
  margin-top: 9px;
  display: flex !important;
  align-items: center !important;
  gap: 3px;
}

.Fairy-twitter-profile-name {
  font-size: 21px;
  font-weight: 800;
  line-height: 25px;
  letter-spacing: -0.2px;
}

.Fairy-twitter-profile-handle {
  color: var(--x-text-sub);
  font-size: 14px;
  line-height: 18px;
}

.Fairy-twitter-profile-bio {
  margin-top: 12px;
  font-size: 15px;
  line-height: 20px;
  white-space: pre-wrap;
}

.Fairy-twitter-profile-meta {
  margin-top: 10px;
  color: var(--x-text-sub);
  font-size: 13px;
  line-height: 18px;
  display: flex !important;
  align-items: center !important;
  gap: 5px;
  flex-wrap: wrap;
}

.Fairy-twitter-profile-meta .Fairy-twitter-icon {
  width: 15px !important;
  height: 15px !important;
  stroke-width: 1.9;
}

.Fairy-twitter-profile-meta a {
  color: var(--x-theme-blue);
  text-decoration: none;
}

.Fairy-twitter-profile-counts {
  display: flex !important;
  gap: 18px;
  margin-top: 10px;
  font-size: 13px;
  color: var(--x-text-sub);
}

.Fairy-twitter-profile-counts strong {
  color: var(--x-text-main);
}

.Fairy-twitter-profile-followed {
  margin-top: 10px;
  color: var(--x-text-sub);
  font-size: 12px;
}

.Fairy-twitter-profile-tabs {
  height: 48px;
  display: flex !important;
  align-items: stretch !important;
  border-bottom: 0.5px solid var(--x-border-color);
  position: sticky;
  top: 0;
  background: rgba(255, 255, 255, 0.98);
  z-index: 3;
  width: 100% !important;
}

.Fairy-twitter-profile-tabs.is-other {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
}

.Fairy-twitter-profile-tabs.is-self {
  display: grid !important;
  grid-template-columns: repeat(6, 1fr) !important;
}

.Fairy-twitter-profile-tabs button {
  position: relative;
  min-width: 0;
  padding: 0 4px !important;
  color: var(--x-text-sub);
  background: none;
  border: none;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  transition: all 0.18s ease;
}

.Fairy-twitter-profile-tabs button .Fairy-twitter-tab-icon {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.Fairy-twitter-profile-tabs button .Fairy-twitter-tab-icon svg {
  width: 19px !important;
  height: 19px !important;
}

.Fairy-twitter-profile-tabs button .Fairy-twitter-tab-text {
  display: none;
  font-size: 14px;
  font-weight: 750;
  white-space: nowrap;
  color: #0f1419;
}

.Fairy-twitter-profile-tabs button.is-active {
  color: #0f1419 !important;
}

.Fairy-twitter-profile-tabs button.is-active .Fairy-twitter-tab-text {
  display: inline-block !important;
}

.Fairy-twitter-profile-tabs button.is-active::after {
  content: "";
  position: absolute;
  left: 20%;
  right: 20%;
  bottom: 0;
  height: 3.5px;
  border-radius: 4px;
  background: #0f1419 !important;
}

.Fairy-twitter-profile-media-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 2px;
  background: #fff;
}

.Fairy-twitter-profile-media-tile {
  position: relative;
  aspect-ratio: 1/1;
  overflow: hidden;
  background: linear-gradient(145deg, #d8dee2, #b7c3ca) !important;
  border: none !important;
  padding: 0;
  cursor: pointer;
}

.Fairy-twitter-profile-media-tile img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.Fairy-twitter-profile-media-tile span {
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 7px;
  color: #fff;
  font-size: 10px;
  font-weight: 750;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.Fairy-twitter-profile-reply-context {
  padding: 9px 15px 7px 65px;
  color: var(--x-text-sub);
  font-size: 12px;
  border-bottom: 0.5px solid var(--x-border-color);
}

.Fairy-twitter-profile-highlights-note {
  padding: 17px 15px;
  border-bottom: 0.5px solid var(--x-border-color);
  font-size: 13px;
  color: var(--x-text-sub);
}

.Fairy-twitter-profile-empty {
  padding: 34px 38px;
}

.Fairy-twitter-profile-empty h3 {
  margin: 0;
  font-size: 28px;
  line-height: 33px;
  font-weight: 800;
  letter-spacing: -0.55px;
}

.Fairy-twitter-profile-empty p {
  margin: 7px 0 0;
  color: var(--x-text-sub);
  font-size: 15px;
  line-height: 20px;
}

/* 编辑资料层 & 抽屉子页面层 */
.Fairy-twitter-drawer-page-layer {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 36;
  background: #fff;
}

.Fairy-twitter-profile-edit-layer {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 120 !important;
  background: #fff;
}

.Fairy-twitter-profile-edit-layer.is-open,
.Fairy-twitter-drawer-page-layer.is-open {
  display: block;
}

/* 空间和社群页面：隐藏旧顶栏，底部露出推特 Dock 导航栏 */
.Fairy-twitter-drawer-page-layer.is-custom-view {
  inset: 0 0 calc(61px + env(safe-area-inset-bottom, 0px)) !important;
}

.Fairy-twitter-drawer-page-layer.is-custom-view .Fairy-twitter-drawer-page-head {
  display: none !important;
}

.Fairy-twitter-drawer-page-layer.is-custom-view .Fairy-twitter-drawer-page-scroll {
  position: absolute;
  inset: 0 !important;
  overflow-y: auto;
}

.Fairy-twitter-editor-head {
  height: calc(76px + env(safe-area-inset-top, 0px)) !important;
  padding: calc(20px + env(safe-area-inset-top, 0px)) 16px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border-bottom: 0.5px solid var(--x-border-color);
  background: #ffffff !important;
  position: relative;
  z-index: 10;
}

.Fairy-twitter-editor-back {
  width: 32px !important;
  height: 32px !important;
  display: grid !important;
  place-items: center !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  color: #0f1419 !important;
  padding: 0 !important;
}

.Fairy-twitter-editor-back .Fairy-twitter-icon {
  width: 22px !important;
  height: 22px !important;
}

.Fairy-twitter-editor-title {
  font-size: 19px !important;
  font-weight: 800 !important;
  color: #0f1419 !important;
  margin-left: 14px;
  flex: 1;
  text-align: left;
}

.Fairy-twitter-editor-save-text {
  background: none !important;
  border: none !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #536471 !important;
  cursor: pointer !important;
  padding: 4px 0 !important;
}

.Fairy-twitter-drawer-page-head {
  height: calc(76px + env(safe-area-inset-top, 0px)) !important;
  padding: calc(20px + env(safe-area-inset-top, 0px)) 15px 0 !important;
  display: grid !important;
  grid-template-columns: 70px minmax(0, 1fr) 70px !important;
  align-items: center !important;
  border-bottom: 0.5px solid var(--x-border-color);
  background: #ffffff !important;
  position: relative;
  z-index: 10;
}

.Fairy-twitter-drawer-page-back {
  text-align: left !important;
  font-size: 15px;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--x-text-main);
}

.Fairy-twitter-drawer-page-title {
  font-size: 18px;
  font-weight: 800;
  text-align: center;
}

.Fairy-twitter-editor-scroll {
  position: absolute;
  inset: calc(76px + env(safe-area-inset-top, 0px)) 0 0 !important;
  overflow-y: auto;
  background: #ffffff;
}

.Fairy-twitter-drawer-page-scroll {
  position: absolute;
  inset: calc(76px + env(safe-area-inset-top, 0px)) 0 0 !important;
  overflow-y: auto;
}

/* 图1高仿编辑资料样式 */
.Fairy-twitter-editor-cover-mimic {
  height: 140px;
  background: #7a8288;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative;
  background-size: cover;
  background-position: center;
}

.Fairy-twitter-editor-cam-icon-btn {
  width: 44px !important;
  height: 44px !important;
  background: rgba(15, 20, 25, 0.45) !important;
  border-radius: 50% !important;
  border: none !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
}

.Fairy-twitter-editor-cam-icon-btn svg {
  width: 22px !important;
  height: 22px !important;
}

.Fairy-twitter-editor-avatar-box {
  padding-left: 16px;
  margin-top: -36px;
  position: relative;
  z-index: 2;
}

.Fairy-twitter-editor-avatar-circle {
  width: 78px !important;
  height: 78px !important;
  border-radius: 50% !important;
  border: 3px solid #ffffff !important;
  background: #5c666e;
  display: grid !important;
  place-items: center !important;
  overflow: hidden;
  position: relative;
  background-size: cover;
  background-position: center;
}

.Fairy-twitter-editor-cam-icon-btn.is-avatar-btn {
  background: rgba(15, 20, 25, 0.35) !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 50% !important;
}

.Fairy-twitter-editor-mimic-fields {
  padding: 16px 16px 32px;
}

.Fairy-twitter-mimic-row {
  border-bottom: 0.5px solid #eff3f4;
  padding: 10px 0 8px;
}

.Fairy-twitter-mimic-label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #536471;
  margin-bottom: 4px;
}

.Fairy-twitter-mimic-input {
  width: 100%;
  border: none !important;
  outline: none !important;
  font-size: 16px;
  font-weight: 700;
  color: #0f1419;
  background: transparent !important;
  padding: 0 !important;
  resize: none;
}

.Fairy-twitter-mimic-row.is-birth {
  border-bottom: 0.5px solid #eff3f4;
  padding-top: 12px;
}

.Fairy-twitter-mimic-birth-val {
  font-size: 16px;
  font-weight: 700;
  color: #0f1419;
  margin-bottom: 6px;
}

.Fairy-twitter-mimic-subtip {
  font-size: 13px;
  font-weight: 500;
  color: #536471;
  line-height: 18px;
}

.Fairy-twitter-editor-cover {
  height: 145px;
  background: #cfd9de center/cover no-repeat;
  position: relative;
}

.Fairy-twitter-editor-cover-button,
.Fairy-twitter-editor-avatar-button {
  position: absolute;
  display: grid !important;
  place-items: center !important;
  background: rgba(15, 20, 25, 0.66) !important;
  color: #fff !important;
  border-radius: 50% !important;
  border: none !important;
  cursor: pointer;
  flex-shrink: 0 !important;
}

.Fairy-twitter-editor-cover-button {
  left: 50%;
  top: 50%;
  width: 42px !important;
  height: 42px !important;
  transform: translate(-50%, -50%);
}

.Fairy-twitter-editor-avatar {
  height: 47px;
  position: relative;
}

.Fairy-twitter-editor-avatar-preview {
  position: absolute;
  left: 15px;
  top: -40px;
  width: 80px !important;
  height: 80px !important;
  min-width: 80px !important;
  min-height: 80px !important;
  border: 4px solid #fff;
  border-radius: 50%;
  background: #cfd9de center/cover no-repeat;
  overflow: hidden;
}

.Fairy-twitter-editor-avatar-button {
  inset: 17px;
  width: 38px !important;
  height: 38px !important;
}

.Fairy-twitter-editor-cover-button .Fairy-twitter-icon,
.Fairy-twitter-editor-avatar-button .Fairy-twitter-icon {
  width: 20px !important;
  height: 20px !important;
}

.Fairy-twitter-editor-fields {
  padding: 0 15px 26px;
}

.Fairy-twitter-editor-field {
  display: block;
  margin-top: 13px;
  border: 1px solid var(--x-border-darker) !important;
  border-radius: 4px !important;
  padding: 5px 9px;
  background: #fff;
}

.Fairy-twitter-editor-field span {
  display: block;
  color: var(--x-text-sub);
  font-size: 12px;
  line-height: 16px;
}

.Fairy-twitter-editor-field input,
.Fairy-twitter-editor-field textarea {
  width: 100%;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  font-size: 16px;
  line-height: 22px;
  padding: 2px 0;
  resize: none;
}

.Fairy-twitter-editor-counts-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 9px;
}

.Fairy-twitter-drawer-page-back {
  width: 40px !important;
  height: 38px !important;
  display: grid !important;
  place-items: center !important;
  background: none;
  border: none;
  cursor: pointer;
  flex-shrink: 0 !important;
}

.Fairy-twitter-drawer-page-back .Fairy-twitter-icon {
  width: 21px !important;
  height: 21px !important;
}

.Fairy-twitter-drawer-page-card {
  margin: 14px 15px;
  padding: 16px;
  border: 1px solid var(--x-border-color) !important;
  border-radius: 16px !important;
  background: #f7f9f9 !important;
}

.Fairy-twitter-drawer-page-card h3 {
  margin: 0;
  font-size: 20px;
}

.Fairy-twitter-drawer-page-card p {
  margin: 6px 0 0;
  color: var(--x-text-sub);
  font-size: 14px;
  line-height: 19px;
}

.Fairy-twitter-drawer-page-row {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  gap: 11px;
  padding: 13px 15px !important;
  border-bottom: 0.5px solid var(--x-border-color);
  background: none;
  border-left: none;
  border-right: none;
  border-top: none;
  text-align: left !important;
  width: 100%;
  cursor: pointer;
}

.Fairy-twitter-drawer-page-row .Fairy-twitter-avatar {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  flex: 0 0 42px !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-drawer-page-row strong {
  display: block;
  font-size: 15px;
}

.Fairy-twitter-drawer-page-row span {
  display: block;
  margin-top: 2px;
  color: var(--x-text-sub);
  font-size: 13px;
}

/* 设置与预设管理层 */
.Fairy-twitter-settings-layer {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 38;
  background: #fff;
  color: var(--x-text-main);
}

.Fairy-twitter-settings-layer.is-open {
  display: block;
}

.Fairy-twitter-settings-head {
  height: calc(76px + env(safe-area-inset-top, 0px)) !important;
  padding: calc(20px + env(safe-area-inset-top, 0px)) 12px 0 !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) 44px !important;
  align-items: center !important;
  border-bottom: 0.5px solid var(--x-border-color);
  background: rgba(255, 255, 255, 0.98);
  position: absolute;
  inset: 0 0 auto;
  z-index: 4;
}

.Fairy-twitter-settings-back {
  width: 38px !important;
  height: 38px !important;
  display: grid !important;
  place-items: center !important;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--x-text-main);
  flex-shrink: 0 !important;
}

.Fairy-twitter-settings-back .Fairy-twitter-icon {
  width: 21px !important;
  height: 21px !important;
}

.Fairy-twitter-settings-title {
  text-align: center;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.25px;
}

.Fairy-twitter-settings-scroll {
  position: relative !important;
  flex: 1 !important;
  width: 100% !important;
  overflow-y: auto !important;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  padding: 6px 18px calc(28px + env(safe-area-inset-bottom, 0px)) !important;
  box-sizing: border-box !important;
}

.Fairy-twitter-settings-scroll::-webkit-scrollbar {
  display: none;
}

.Fairy-twitter-settings-presetbar {
  height: 62px;
  padding: 10px 15px;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 40px 40px !important;
  gap: 8px;
  align-items: center !important;
  border-bottom: 0.5px solid var(--x-border-color);
}

.Fairy-twitter-settings-preset-select {
  width: 100% !important;
  max-width: 100% !important;
  height: 44px !important;
  border: 1.5px solid var(--x-border-darker) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #0f1419 !important;
  padding: 0 34px 0 14px !important;
  outline: none !important;
  font-size: 15px !important;
  font-weight: 750 !important;
  display: block !important;
  box-sizing: border-box !important;
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23536471' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-size: 16px 16px !important;
  background-position: right 14px center !important;
}

.Fairy-twitter-settings-preset-select:focus {
  border-color: var(--x-theme-blue) !important;
}

.Fairy-twitter-settings-icon-button {
  width: 40px !important;
  height: 40px !important;
  border: 1px solid var(--x-border-darker) !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  color: var(--x-text-main) !important;
  background: transparent !important;
  cursor: pointer;
  flex-shrink: 0 !important;
}

.Fairy-twitter-settings-icon-button .Fairy-twitter-icon {
  width: 19px !important;
  height: 19px !important;
}

.Fairy-twitter-settings-icon-button.is-danger {
  color: #f4212e !important;
}

.Fairy-twitter-settings-section {
  padding: 17px 15px 0;
}

.Fairy-twitter-settings-section-title {
  font-size: 19px;
  font-weight: 800;
  line-height: 24px;
}

.Fairy-twitter-settings-field {
  display: block;
  margin-top: 10px;
  border: 1px solid var(--x-border-darker) !important;
  border-radius: 12px !important;
  padding: 8px 11px;
  background: #fff;
}

.Fairy-twitter-settings-field-label {
  display: block;
  color: var(--x-text-sub);
  font-size: 12px;
  line-height: 16px;
}

.Fairy-twitter-settings-field textarea,
.Fairy-twitter-settings-field input {
  width: 100%;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: var(--x-text-main);
  font: inherit;
  font-size: 15px;
  line-height: 21px;
  padding: 4px 0 1px;
  resize: none;
}

.Fairy-twitter-settings-field textarea {
  min-height: 118px;
}

.Fairy-twitter-settings-manager {
  margin-top: 10px;
  border-top: 0.5px solid var(--x-border-color);
}

.Fairy-twitter-settings-addline {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 36px !important;
  gap: 8px;
  align-items: center !important;
  padding: 9px 0;
}

.Fairy-twitter-settings-addline input {
  height: 38px !important;
  border: 1px solid var(--x-border-darker) !important;
  border-radius: 10px !important;
  padding: 0 11px !important;
  outline: 0 !important;
  font-size: 15px;
  background: #fff !important;
}

.Fairy-twitter-settings-add {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: var(--x-text-main) !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
  border: none !important;
  cursor: pointer;
  flex-shrink: 0 !important;
}

.Fairy-twitter-settings-add .Fairy-twitter-icon {
  width: 18px !important;
  height: 18px !important;
}

.Fairy-twitter-settings-people {
  border-top: 0.5px solid var(--x-border-color);
}

.Fairy-twitter-settings-person {
  min-height: 46px;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 34px !important;
  gap: 8px;
  align-items: center !important;
  border-bottom: 0.5px solid var(--x-border-color);
  font-size: 15px;
}

.Fairy-twitter-settings-person-remove {
  width: 34px !important;
  height: 34px !important;
  display: grid !important;
  place-items: center !important;
  color: var(--x-text-sub);
  background: none;
  border: none;
  cursor: pointer;
  flex-shrink: 0 !important;
}

.Fairy-twitter-settings-person-remove .Fairy-twitter-icon {
  width: 17px !important;
  height: 17px !important;
}

.Fairy-twitter-settings-empty {
  padding: 11px 0;
  color: var(--x-text-sub);
  font-size: 13px;
}

.Fairy-twitter-settings-relations {
  min-height: 122px !important;
}

.Fairy-twitter-settings-clear-wrap {
  padding: 24px 15px 10px;
}

.Fairy-twitter-settings-clear {
  width: 100%;
  height: 48px;
  border-top: 0.5px solid var(--x-border-color) !important;
  border-bottom: 0.5px solid var(--x-border-color) !important;
  color: #f4212e !important;
  font-size: 15px;
  font-weight: 650;
  text-align: center !important;
  background: none !important;
  border-left: none !important;
  border-right: none !important;
  cursor: pointer;
}

.Fairy-twitter-settings-save-state {
  min-height: 17px;
  padding: 5px 15px 0;
  color: var(--x-text-sub);
  font-size: 12px;
  text-align: center;
}

.Fairy-twitter-settings-save-state.is-error {
  color: #f4212e;
}

/* 屏幕微调 */
@media (max-width: 380px) {
  .Fairy-twitter-post {
    padding-left: 12px;
    padding-right: 12px;
  }
  .Fairy-twitter-search-top {
    padding-left: 12px;
    padding-right: 12px;
  }
  .Fairy-twitter-drawer {
    width: 84%;
  }
}
/* 趋势操作弹窗（无图标，纯文本左对齐，模仿截图） */
.Fairy-twitter-trend-actionsheet .Fairy-twitter-actionsheet-item {
  padding: 0 24px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #0f1419 !important;
  min-height: 48px !important;
  justify-content: flex-start !important;
}

/* 竖向三点按钮优化 */
.Fairy-twitter-trend-more {
  position: absolute;
  right: 14px;
  top: 14px;
  color: #8899a6 !important;
  background: none;
  border: none;
  cursor: pointer;
  width: 28px !important;
  height: 28px !important;
  display: grid !important;
  place-items: center !important;
}

.Fairy-twitter-trend-more .Fairy-twitter-icon {
  width: 18px !important;
  height: 18px !important;
  color: #8899a6 !important;
}

/* 独立全屏搜索页面层 */
.Fairy-twitter-search-page-layer {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 37;
  background: #ffffff;
  flex-direction: column !important;
}

.Fairy-twitter-search-page-layer.is-open {
  display: flex !important;
}

.Fairy-twitter-search-page-head {
  height: calc(76px + env(safe-area-inset-top, 0px)) !important;
  padding: calc(20px + env(safe-area-inset-top, 0px)) 16px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  border-bottom: 0.5px solid var(--x-border-color);
  background: #ffffff !important;
}

.Fairy-twitter-search-page-back {
  width: 32px !important;
  height: 32px !important;
  display: grid !important;
  place-items: center !important;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--x-text-main);
  flex-shrink: 0 !important;
  padding: 0 !important;
}

.Fairy-twitter-search-page-back .Fairy-twitter-icon {
  width: 22px !important;
  height: 22px !important;
}

.Fairy-twitter-search-page-shell {
  flex: 1 !important;
  min-width: 0 !important;
  height: 40px !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 !important;
  border: none !important;
}

.Fairy-twitter-search-page-shell .Fairy-twitter-icon {
  display: none !important;
}

.Fairy-twitter-search-page-shell input {
  width: 100% !important;
  flex: 1 !important;
  min-width: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: var(--x-text-main) !important;
  padding: 0 !important;
  line-height: normal !important;
}

.Fairy-twitter-search-page-shell input::placeholder {
  color: var(--x-text-sub) !important;
  font-size: 18px !important;
}

.Fairy-twitter-search-page-clear {
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: #eff3f4 !important;
  color: #0f1419 !important;
  display: none;
  place-items: center !important;
  border: none !important;
  cursor: pointer;
  flex-shrink: 0 !important;
}

.Fairy-twitter-search-page-clear.is-visible {
  display: grid !important;
}

.Fairy-twitter-search-page-clear svg {
  width: 12px !important;
  height: 12px !important;
}

.Fairy-twitter-search-page-body {
  flex: 1;
  overflow-y: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.Fairy-twitter-search-page-body::-webkit-scrollbar {
  display: none;
}

.Fairy-twitter-search-section-title {
  padding: 16px 16px 8px;
  font-size: 18px;
  font-weight: 800;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.Fairy-twitter-search-clear-recent {
  font-size: 13px;
  color: var(--x-theme-blue);
  font-weight: 600;
  background: none;
  border: none;
  cursor: pointer;
}

.Fairy-twitter-search-recent-item {
  width: 100% !important;
  padding: 12px 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
}

.Fairy-twitter-search-recent-left {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 15px;
  font-weight: 650;
  color: var(--x-text-main);
}

.Fairy-twitter-search-recent-left .Fairy-twitter-icon {
  width: 18px !important;
  height: 18px !important;
  color: var(--x-text-sub);
}
/* 通知偏好弹窗与分享弹窗样式 */
.Fairy-twitter-notify-sheet-title {
  padding: 8px 24px 2px;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #0f1419 !important;
}

.Fairy-twitter-notify-sheet-handle {
  padding: 0 24px 16px;
  font-size: 15px;
  color: var(--x-text-sub);
}

.Fairy-twitter-notify-option {
  width: 100% !important;
  padding: 12px 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  text-align: left !important;
}

.Fairy-twitter-notify-option-info {
  flex: 1;
}

.Fairy-twitter-notify-option-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #0f1419 !important;
  line-height: 20px;
}

.Fairy-twitter-notify-option-desc {
  font-size: 13px !important;
  color: var(--x-text-sub) !important;
  margin-top: 3px;
  line-height: 17px;
}

.Fairy-twitter-radio-circle {
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  border: 2px solid var(--x-border-darker) !important;
  flex: 0 0 22px !important;
  margin-left: 16px;
  display: grid !important;
  place-items: center !important;
}

.Fairy-twitter-notify-option.is-active .Fairy-twitter-radio-circle {
  border-color: var(--x-theme-blue) !important;
}

.Fairy-twitter-notify-option.is-active .Fairy-twitter-radio-circle::after {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--x-theme-blue);
}
/* 原生推特完整分享弹窗面板 */
.Fairy-twitter-share-modal {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: #ffffff;
  border-radius: 24px 24px 0 0 !important;
  padding: 12px 0 calc(20px + env(safe-area-inset-bottom, 0px));
  box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.18);
  display: flex !important;
  flex-direction: column !important;
  z-index: 50;
  max-height: 85vh;
}

.Fairy-twitter-share-search-row {
  padding: 0 16px 12px;
}

.Fairy-twitter-share-search-box {
  height: 42px !important;
  border-radius: 21px !important;
  background: #eff3f4 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px;
  padding: 0 16px !important;
  color: var(--x-text-sub);
}

.Fairy-twitter-share-search-box svg {
  width: 18px !important;
  height: 18px !important;
}

.Fairy-twitter-share-search-box input {
  flex: 1;
  border: none !important;
  outline: none !important;
  background: transparent !important;
  font-size: 16px !important;
  color: var(--x-text-main) !important;
}

.Fairy-twitter-share-user-list {
  display: flex !important;
  flex-direction: column !important;
  padding: 4px 0 16px;
  border-bottom: 0.5px solid var(--x-border-color);
}

.Fairy-twitter-share-user-item {
  width: 100% !important;
  padding: 10px 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  text-align: left !important;
}

.Fairy-twitter-share-user-info {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
}

.Fairy-twitter-share-user-item .Fairy-twitter-avatar {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  flex: 0 0 44px !important;
}

.Fairy-twitter-share-invite-icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50%;
  background: #eff3f4;
  display: grid;
  place-items: center;
  color: var(--x-text-main);
  flex-shrink: 0;
}

.Fairy-twitter-share-user-info {
  display: flex;
  flex-direction: column;
}

.Fairy-twitter-share-user-name {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: var(--x-text-main);
}

.Fairy-twitter-share-user-sub {
  font-size: 13px;
  color: var(--x-text-sub);
  margin-top: 2px;
}

/* 底部横向应用图标栏 */
.Fairy-twitter-share-apps-row {
  display: flex !important;
  align-items: center !important;
  gap: 16px;
  padding: 16px 16px 4px;
  overflow-x: auto;
  scrollbar-width: none;
}

.Fairy-twitter-share-apps-row::-webkit-scrollbar {
  display: none;
}

.Fairy-twitter-share-app-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  flex: 0 0 64px !important;
}

.Fairy-twitter-share-app-circle {
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  color: #ffffff !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-share-app-circle.bg-black {
  background: #0f1419 !important;
}

.Fairy-twitter-share-app-circle.bg-discord {
  background: #5865F2 !important;
}

.Fairy-twitter-share-app-circle.bg-whatsapp {
  background: #25D366 !important;
}

.Fairy-twitter-share-app-circle.bg-instagram {
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important;
}

.Fairy-twitter-share-app-circle svg {
  width: 24px !important;
  height: 24px !important;
  fill: currentColor;
}

.Fairy-twitter-share-app-label {
  font-size: 12px;
  color: var(--x-text-main);
  white-space: nowrap;
}
/* 论坛助手页面（完全模仿截图） */
.Fairy-twitter-grok-head-title strong {
  font-size: 19px !important;
  font-weight: 850 !important;
}

.Fairy-twitter-grok-recent-section {
  padding: 0 4px 16px;
}

.Fairy-twitter-grok-recent-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--x-text-sub);
  margin-bottom: 10px;
}

.Fairy-twitter-grok-recent-chip {
  display: inline-block;
  padding: 10px 16px;
  background: #f7f9f9;
  border-radius: 18px;
  font-size: 15px;
  font-weight: 600;
  color: var(--x-text-main);
  border: none;
  cursor: pointer;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.Fairy-twitter-grok-tools-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 8px;
  margin-bottom: 16px;
}

.Fairy-twitter-grok-tool-card {
  height: 74px !important;
  background: #f7f9f9 !important;
  border-radius: 16px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px;
  border: none !important;
  cursor: pointer;
  color: var(--x-text-main) !important;
}

.Fairy-twitter-grok-tool-card svg {
  width: 20px !important;
  height: 20px !important;
  color: var(--x-text-sub);
}

.Fairy-twitter-grok-tool-card span {
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

/* 底部全包输入大卡片 */
.Fairy-twitter-grok-composer {
  position: absolute;
  left: 12px !important;
  right: 12px !important;
  bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
  min-height: 88px !important;
  border: none !important;
  border-radius: 24px !important;
  background: #f7f9f9 !important;
  padding: 12px 14px 10px !important;
}

.Fairy-twitter-grok-composer textarea {
  font-size: 16px !important;
  color: var(--x-text-main) !important;
}

.Fairy-twitter-grok-composer textarea::placeholder {
  color: var(--x-text-sub) !important;
  font-weight: 500;
}

.Fairy-twitter-grok-mode-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  font-weight: 700;
  color: var(--x-text-main);
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0 4px;
}
/* ==========================================================================
   图1：社群 (Communities) 1:1 像素级还原样式
   ========================================================================== */
.Fairy-twitter-comm-fig1-head {
  height: calc(76px + env(safe-area-inset-top, 0px)) !important;
  padding: calc(20px + env(safe-area-inset-top, 0px)) 16px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
}

.Fairy-twitter-comm-fig1-head .Fairy-twitter-avatar {
  width: 34px !important;
  height: 34px !important;
}

.Fairy-twitter-comm-fig1-title {
  font-size: 19px !important;
  font-weight: 850 !important;
  color: #0f1419;
  margin-left: 14px;
  flex: 1;
}

.Fairy-twitter-comm-search-btn {
  width: 34px !important;
  height: 34px !important;
  display: grid !important;
  place-items: center !important;
  background: none;
  border: none;
  cursor: pointer;
  color: #0f1419;
}

.Fairy-twitter-comm-search-btn svg {
  width: 21px !important;
  height: 21px !important;
}

.Fairy-twitter-comm-fig1-tabs {
  height: 48px;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  border-bottom: 0.5px solid var(--x-border-color);
  background: #ffffff;
}

.Fairy-twitter-comm-tab {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #536471;
  background: none;
  border: none;
  cursor: pointer;
  position: relative;
}

.Fairy-twitter-comm-tab.is-active {
  color: #0f1419 !important;
  font-weight: 850 !important;
}

.Fairy-twitter-comm-tab.is-active::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: #1d9bf0;
  border-radius: 4px 4px 0 0;
}

.Fairy-twitter-comm-down-icon {
  width: 14px !important;
  height: 14px !important;
}

/* 图1：未加入社群时的空状态文字排版 */
.Fairy-twitter-community-empty-wrap {
  padding: 36px 20px 24px;
}

.Fairy-twitter-community-empty-title {
  font-size: 29px !important;
  font-weight: 900 !important;
  color: #0f1419;
  letter-spacing: -0.6px;
  line-height: 36px;
}

.Fairy-twitter-community-empty-sub {
  margin-top: 10px;
  font-size: 15px !important;
  color: #536471;
  line-height: 20px;
}

.Fairy-twitter-communities-stream {
  padding: 14px 16px;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px;
}

/* ==========================================================================
   图2：空间 (Spaces) 1:1 像素级还原样式
   ========================================================================== */
.Fairy-twitter-spaces-fig2-topbar {
  height: calc(76px + env(safe-area-inset-top, 0px)) !important;
  padding: calc(20px + env(safe-area-inset-top, 0px)) 16px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: #ffffff !important;
  border-bottom: 0.5px solid var(--x-border-color);
  box-sizing: border-box !important;
  width: 100% !important;
}

.Fairy-twitter-spaces-fig2-topbar .Fairy-twitter-avatar {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  flex-shrink: 0 !important;
  cursor: pointer;
}

/* 空间搜索胶囊输入框：严格防溢出 */
.Fairy-twitter-spaces-fig2-search {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: 38px !important;
  border-radius: 19px !important;
  background: #eff3f4 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 14px !important;
  color: #536471;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.Fairy-twitter-spaces-fig2-search svg {
  width: 17px !important;
  height: 17px !important;
  flex: 0 0 17px !important;
}

.Fairy-twitter-spaces-fig2-search input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  outline: none !important;
  background: transparent !important;
  font-size: 15px !important;
  color: #0f1419 !important;
  padding: 0 !important;
  line-height: normal !important;
}

.Fairy-twitter-spaces-fig2-scroll {
  padding: 16px 16px 90px;
}

.Fairy-twitter-spaces-section-title {
  font-size: 22px !important;
  font-weight: 900 !important;
  color: #0f1419;
  letter-spacing: -0.4px;
}

.Fairy-twitter-spaces-section-sub {
  font-size: 14px !important;
  color: #536471;
  margin-top: 2px;
  margin-bottom: 14px;
}

.Fairy-twitter-spaces-cards-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px;
}

/* 图2原版双层紫渐变大卡片 */
.Fairy-twitter-space-fig2-card {
  border-radius: 20px;
  background: linear-gradient(135deg, #4f46e5 0%, #6366f1 40%, #8b5cf6 100%);
  padding: 16px 16px 14px;
  color: #ffffff;
  box-shadow: 0 4px 16px rgba(99, 102, 241, 0.25);
  cursor: pointer;
}

.Fairy-twitter-space-fig2-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.Fairy-twitter-space-fig2-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px;
  font-size: 13px;
  font-weight: 800;
}

.Fairy-twitter-space-waveform {
  letter-spacing: 1px;
}

.Fairy-twitter-space-fig2-more {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  background: none;
  border: none;
  color: #ffffff;
  cursor: pointer;
}

.Fairy-twitter-space-fig2-more svg {
  width: 18px !important;
  height: 18px !important;
}

.Fairy-twitter-space-fig2-title {
  font-size: 20px !important;
  font-weight: 850 !important;
  line-height: 26px;
  margin-top: 10px;
}

.Fairy-twitter-space-fig2-listeners {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
  margin-top: 12px;
  font-size: 14px;
  font-weight: 700;
}

.Fairy-twitter-space-avatars-cluster {
  display: flex !important;
  align-items: center !important;
}

.Fairy-twitter-space-mini-avatar {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
  border: 2px solid #6366f1;
  margin-left: -6px;
  flex: 0 0 24px !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
}

.Fairy-twitter-space-mini-avatar:first-child {
  margin-left: 0;
}

/* 内部主持人信息卡片 */
.Fairy-twitter-space-fig2-hostbox {
  margin-top: 14px;
  background: rgba(15, 23, 42, 0.24);
  border-radius: 14px;
  padding: 12px;
}

.Fairy-twitter-space-host-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
}

.Fairy-twitter-space-host-avatar {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  aspect-ratio: 1 / 1 !important;
  flex: 0 0 28px !important;
  flex-shrink: 0 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
}

.Fairy-twitter-space-host-name-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 6px;
}

.Fairy-twitter-space-host-name {
  font-size: 14px;
  font-weight: 800;
}

.Fairy-twitter-space-host-pill {
  font-size: 11px;
  font-weight: 750;
  padding: 1px 6px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.22);
}

.Fairy-twitter-space-host-desc {
  font-size: 13px;
  line-height: 18px;
  color: rgba(255, 255, 255, 0.88);
  margin-top: 6px;
  white-space: pre-wrap;
}

/* 图2下半部预约日历项 */
.Fairy-twitter-spaces-calendar-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px;
}

.Fairy-twitter-spaces-calendar-item {
  display: grid !important;
  grid-template-columns: 60px minmax(0, 1fr) 36px !important;
  gap: 12px;
  align-items: center;
}

.Fairy-twitter-calendar-icon-box {
  width: 60px;
  height: 60px;
  border-radius: 16px;
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  display: grid;
  place-items: center;
}

.Fairy-twitter-calendar-icon-box svg {
  width: 28px;
  height: 28px;
}

.Fairy-twitter-calendar-info {
  min-width: 0;
}

.Fairy-twitter-calendar-cat {
  font-size: 12px;
  font-weight: 750;
  color: #536471;
}

.Fairy-twitter-calendar-title {
  font-size: 15px;
  font-weight: 850;
  color: #0f1419;
  line-height: 20px;
  margin-top: 2px;
}

.Fairy-twitter-calendar-time {
  font-size: 13px;
  color: #6366f1;
  font-weight: 650;
  margin-top: 2px;
}

.Fairy-twitter-calendar-bell-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  border: 1px solid #cfd9de;
  background: #ffffff;
  color: #0f1419;
  cursor: pointer;
}

.Fairy-twitter-calendar-bell-btn.is-active {
  background: #6366f1;
  color: #ffffff;
  border-color: #6366f1;
}

/* 空间右下角悬浮圆圈空间 FAB 按钮（位置与尺寸完全对标发帖与私信 FAB） */
.Fairy-twitter-spaces-fig2-fab {
  position: fixed !important;
  right: 17px !important;
  bottom: calc(74px + env(safe-area-inset-bottom, 0px)) !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: #8b5cf6 !important;
  color: #ffffff !important;
  display: grid !important;
  place-items: center !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12) !important;
  border: none !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  z-index: 25 !important;
}

.Fairy-twitter-spaces-fig2-fab .Fairy-twitter-icon {
  width: 26px !important;
  height: 26px !important;
}

/* ==========================================================================
   书签 (Bookmarks) 截图排版与敏感内容卡片样式
   ========================================================================== */
.Fairy-twitter-bookmark-search-wrap {
  padding: 10px 16px 12px;
  background: #ffffff;
  border-bottom: 0.5px solid var(--x-border-color);
}

.Fairy-twitter-bookmark-search-box {
  height: 42px !important;
  border-radius: 21px !important;
  background: #eff3f4 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px;
  padding: 0 16px !important;
  color: #536471;
}

.Fairy-twitter-bookmark-search-box svg {
  width: 18px !important;
  height: 18px !important;
  color: #536471 !important;
}

.Fairy-twitter-bookmark-search-box input {
  border: none !important;
  outline: none !important;
  background: transparent !important;
  font-size: 15px !important;
  color: #0f1419 !important;
  width: 100px;
  text-align: left;
}

.Fairy-twitter-bookmark-search-box input::placeholder {
  color: #536471;
}

.Fairy-twitter-translate-bar {
  display: flex !important;
  align-items: center !important;
  gap: 6px;
  font-size: 13px;
  color: #536471;
  margin-top: 4px;
  margin-bottom: 4px;
}

.Fairy-twitter-translate-icon {
  width: 15px !important;
  height: 15px !important;
  color: #536471;
}

.Fairy-twitter-translate-link {
  color: #1d9bf0;
  font-weight: 500;
  cursor: pointer;
}

.Fairy-twitter-sensitive-box {
  margin-top: 10px;
  border-radius: 16px !important;
  overflow: hidden;
  position: relative;
  height: 190px;
  background: #2b2524;
}

.Fairy-twitter-sensitive-cover {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(80, 50, 45, 0.9), rgba(20, 20, 25, 0.95));
  filter: blur(10px);
}

.Fairy-twitter-sensitive-overlay {
  position: absolute;
  inset: 0;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px;
  text-align: center;
  z-index: 2;
}

.Fairy-twitter-sensitive-icon {
  width: 28px !important;
  height: 28px !important;
  margin-bottom: 8px;
}

.Fairy-twitter-sensitive-title {
  font-size: 16px;
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 4px;
}

.Fairy-twitter-sensitive-desc {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.82);
  margin-bottom: 12px;
}

.Fairy-twitter-sensitive-btn {
  height: 32px !important;
  padding: 0 18px !important;
  border-radius: 16px !important;
  background: #000000 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  cursor: pointer;
}

.Fairy-twitter-sensitive-box.is-revealed .Fairy-twitter-sensitive-overlay {
  display: none !important;
}

.Fairy-twitter-sensitive-box.is-revealed .Fairy-twitter-sensitive-cover {
  filter: none;
  background: #3a3230;
}

.Fairy-twitter-community-card {
  border: 1px solid #eff3f4;
  border-radius: 16px;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.Fairy-twitter-community-banner {
  height: 80px;
  width: 100%;
}

.Fairy-twitter-community-body {
  padding: 12px 14px 14px;
}

.Fairy-twitter-community-title-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.Fairy-twitter-community-name {
  font-size: 16px;
  font-weight: 800;
  color: #0f1419;
}

.Fairy-twitter-community-join-btn {
  height: 32px !important;
  padding: 0 16px !important;
  border-radius: 16px !important;
  background: #0f1419 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  border: none !important;
  cursor: pointer;
  flex-shrink: 0;
}

.Fairy-twitter-community-join-btn.is-joined {
  background: #ffffff !important;
  color: #0f1419 !important;
  border: 1px solid #cfd9de !important;
}

.Fairy-twitter-community-members {
  font-size: 13px;
  color: #536471;
  margin-top: 3px;
}

.Fairy-twitter-community-desc {
  font-size: 14px;
  color: #0f1419;
  margin-top: 6px;
  line-height: 19px;
}
/* ==========================================================================
   社群详情页 (Community Detail) 1:1 像素级高仿样式（无底栏、下移避开状态栏）
   ========================================================================== */
/* 进入社群详情页时，子页面层全屏覆盖，完全不留底栏 */
.Fairy-twitter-drawer-page-layer.is-comm-detail-fullscreen {
  inset: 0 !important;
  z-index: 40 !important;
}

.Fairy-twitter-comm-detail-wrap {
  position: relative;
  background: #ffffff;
  min-height: 100%;
  padding-bottom: 100px;
}

.Fairy-twitter-comm-detail-banner {
  height: calc(185px + env(safe-area-inset-top, 0px));
  position: relative;
  background-size: cover;
  background-position: center;
}

/* 顶部操作按钮进一步往下移，预留充足安全距离 */
.Fairy-twitter-comm-detail-nav {
  position: absolute;
  top: calc(46px + env(safe-area-inset-top, 0px)) !important;
  left: 16px;
  right: 16px;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  z-index: 10;
}

.Fairy-twitter-comm-nav-right {
  display: flex !important;
  align-items: center !important;
  gap: 12px;
}

.Fairy-twitter-comm-nav-btn {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: rgba(15, 20, 25, 0.62) !important;
  display: grid !important;
  place-items: center !important;
  border: none !important;
  cursor: pointer;
  color: #ffffff !important;
}

.Fairy-twitter-comm-nav-btn svg {
  width: 20px !important;
  height: 20px !important;
  stroke: #ffffff !important;
  color: #ffffff !important;
}

.Fairy-twitter-comm-detail-info {
  padding: 16px 16px 10px;
}

.Fairy-twitter-comm-detail-title {
  font-size: 26px !important;
  font-weight: 900 !important;
  color: #0f1419;
  line-height: 32px;
  letter-spacing: -0.5px;
}

.Fairy-twitter-comm-detail-action-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-top: 10px;
}

.Fairy-twitter-comm-detail-members {
  font-size: 15px !important;
  color: #536471;
  font-weight: 600;
}

.Fairy-twitter-comm-detail-btns {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
}

.Fairy-twitter-comm-round-btn {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: #eff3f4 !important;
  color: #0f1419 !important;
  display: grid !important;
  place-items: center !important;
  border: none !important;
  cursor: pointer;
}

.Fairy-twitter-comm-round-btn svg {
  width: 18px !important;
  height: 18px !important;
}

.Fairy-twitter-comm-join-pill {
  height: 36px !important;
  padding: 0 20px !important;
  border-radius: 18px !important;
  background: #000000 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  border: none !important;
  cursor: pointer;
}

.Fairy-twitter-comm-join-pill.is-joined {
  background: #ffffff !important;
  color: #0f1419 !important;
  border: 1px solid #cfd9de !important;
}

.Fairy-twitter-comm-detail-desc {
  font-size: 14px;
  color: #0f1419;
  line-height: 21px;
  margin-top: 10px;
  word-break: break-word;
}

.Fairy-twitter-comm-detail-tabs {
  height: 48px;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  border-bottom: 0.5px solid var(--x-border-color);
  background: #ffffff;
  position: sticky;
  top: 0;
  z-index: 5;
}

.Fairy-twitter-comm-dtab {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #536471;
  background: none;
  border: none;
  cursor: pointer;
  position: relative;
}

.Fairy-twitter-comm-dtab.is-active {
  color: #0f1419 !important;
  font-weight: 850 !important;
}

.Fairy-twitter-comm-dtab.is-active::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 20%;
  right: 20%;
  height: 3.5px;
  background: #1d9bf0;
  border-radius: 4px;
}

.Fairy-twitter-comm-pinned-bar {
  display: flex !important;
  align-items: center !important;
  gap: 6px;
  padding: 10px 16px 4px 44px;
  font-size: 13px;
  color: #536471;
  font-weight: 700;
}

/* 截图排版：SpaceX 链接预览大图卡片 */
.Fairy-twitter-comm-link-card {
  margin-top: 10px;
  border: 1px solid #cfd9de;
  border-radius: 16px;
  overflow: hidden;
  background: #ffffff;
}

.Fairy-twitter-comm-link-img {
  height: 180px;
  background: linear-gradient(180deg, #38bdf8 0%, #1e293b 65%, #0f172a 100%);
  position: relative;
  display: flex;
  align-items: flex-end;
}

.Fairy-twitter-comm-link-img-overlay {
  padding: 10px 12px;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.75), transparent);
  width: 100%;
}

.Fairy-twitter-comm-link-img-overlay span {
  font-size: 14px;
  font-weight: 750;
  color: #ffffff;
}

.Fairy-twitter-comm-link-footer {
  padding: 8px 12px;
  font-size: 13px;
  color: #536471;
}

/* 截图排版：3 宫格图片 */
.Fairy-twitter-comm-3grid-media {
  margin-top: 10px;
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 4px;
  height: 140px;
  border-radius: 14px;
  overflow: hidden;
}

.Fairy-twitter-3grid-box {
  height: 100%;
}

.Fairy-twitter-3grid-box.bg-gold-rays {
  background: radial-gradient(circle, #facc15 0%, #ca8a04 40%, #000000 100%);
}

.Fairy-twitter-3grid-box.bg-qr-code {
  background: #ffffff;
  border: 1px solid #e2e8f0;
}

.Fairy-twitter-3grid-box.bg-vpn-red {
  background: radial-gradient(circle, #ef4444 0%, #991b1b 60%, #000000 100%);
}

/* 右下角悬浮发帖按钮（纯白色加号） */
.Fairy-twitter-comm-fab {
  position: fixed !important;
  right: 17px !important;
  bottom: calc(24px + env(safe-area-inset-bottom, 0px)) !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: #1d9bf0 !important;
  display: grid !important;
  place-items: center !important;
  box-shadow: 0 4px 14px rgba(29, 155, 240, 0.38) !important;
  border: none !important;
  cursor: pointer !important;
  z-index: 50 !important;
}

.Fairy-twitter-comm-fab svg {
  width: 26px !important;
  height: 26px !important;
  color: #ffffff !important;
  stroke: #ffffff !important;
}

.Fairy-twitter-comm-nav-right {
  display: flex !important;
  align-items: center !important;
  gap: 10px;
}

.Fairy-twitter-comm-nav-btn {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(15, 20, 25, 0.6) !important;
  display: grid !important;
  place-items: center !important;
  border: none !important;
  cursor: pointer;
}

.Fairy-twitter-comm-nav-btn svg {
  width: 20px !important;
  height: 20px !important;
}

.Fairy-twitter-comm-detail-info {
  padding: 16px 16px 12px;
}

.Fairy-twitter-comm-detail-title {
  font-size: 24px !important;
  font-weight: 850 !important;
  color: #0f1419;
  line-height: 28px;
}

.Fairy-twitter-comm-detail-action-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-top: 10px;
}

.Fairy-twitter-comm-detail-members {
  font-size: 15px !important;
  color: #536471;
  font-weight: 600;
}

.Fairy-twitter-comm-detail-btns {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
}

.Fairy-twitter-comm-round-btn {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: #eff3f4 !important;
  color: #0f1419 !important;
  display: grid !important;
  place-items: center !important;
  border: none !important;
  cursor: pointer;
}

.Fairy-twitter-comm-round-btn svg {
  width: 18px !important;
  height: 18px !important;
}

.Fairy-twitter-comm-invite-pill {
  height: 36px !important;
  padding: 0 18px !important;
  border-radius: 18px !important;
  background: #000000 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  border: none !important;
  cursor: pointer;
}

.Fairy-twitter-comm-detail-desc {
  font-size: 14px;
  color: #0f1419;
  line-height: 20px;
  margin-top: 12px;
}

.Fairy-twitter-comm-detail-tabs {
  height: 48px;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  border-bottom: 0.5px solid var(--x-border-color);
  background: #ffffff;
  position: sticky;
  top: 0;
  z-index: 5;
}

.Fairy-twitter-comm-dtab {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #536471;
  background: none;
  border: none;
  cursor: pointer;
  position: relative;
}

.Fairy-twitter-comm-dtab.is-active {
  color: #0f1419 !important;
  font-weight: 850 !important;
}

.Fairy-twitter-comm-dtab.is-active::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 20%;
  right: 20%;
  height: 3.5px;
  background: #1d9bf0;
  border-radius: 4px;
}

.Fairy-twitter-comm-pinned-bar {
  display: flex !important;
  align-items: center !important;
  gap: 6px;
  padding: 10px 16px 4px 44px;
  font-size: 13px;
  color: #536471;
  font-weight: 700;
}

.Fairy-twitter-comm-post-headline {
  font-size: 15px;
  font-weight: 800;
  color: #0f1419;
  margin-top: 3px;
  line-height: 20px;
}

.Fairy-twitter-comm-media-split {
  margin-top: 10px;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 4px;
  border-radius: 14px;
  overflow: hidden;
  height: 180px;
}

.Fairy-twitter-split-img-box {
  display: grid;
  place-items: center;
  height: 100%;
}

.Fairy-twitter-comm-quote-card {
  margin-top: 10px;
  border: 1px solid #cfd9de;
  border-radius: 12px;
  padding: 10px 12px;
  background: #ffffff;
}

.Fairy-twitter-quote-head {
  display: flex !important;
  align-items: center !important;
  gap: 4px;
  font-size: 13px;
}

.Fairy-twitter-quote-avatar {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
}

.Fairy-twitter-quote-name {
  font-weight: 750;
  color: #0f1419;
}

.Fairy-twitter-quote-handle,
.Fairy-twitter-quote-time {
  color: #536471;
}

.Fairy-twitter-quote-text {
  margin-top: 4px;
  font-size: 14px;
  color: #0f1419;
  line-height: 19px;
}

.Fairy-twitter-comm-fab {
  position: fixed !important;
  right: 17px !important;
  bottom: calc(74px + env(safe-area-inset-bottom, 0px)) !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: #1d9bf0 !important;
  display: grid !important;
  place-items: center !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12) !important;
  border: none !important;
  cursor: pointer !important;
  z-index: 25 !important;
}

.Fairy-twitter-comm-fab svg {
  width: 28px !important;
  height: 28px !important;
}
/* ==========================================================================
   主页推文所属社群顶栏 (社区实心双人 SVG + 社群名称)
   ========================================================================== */
.Fairy-twitter-post-context-row {
  grid-column: 1 / -1;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  gap: 9px;
  align-items: center !important;
  margin-bottom: 3px;
}

.Fairy-twitter-post-context-icon-col {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  padding-right: 4px;
}

.Fairy-twitter-post-context-icon {
  width: 17px !important;
  height: 17px !important;
  color: #536471 !important;
}

.Fairy-twitter-post-context-text {
  font-size: 13px !important;
  font-weight: 750 !important;
  color: #0f1419 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 18px;
}

/* ==========================================================================
   推特微信面具账号一键快捷登录层样式
   ========================================================================== */
.Fairy-twitter-login-layer {
  display: none;
  position: absolute;
  inset: 0;
  background: #ffffff;
  z-index: 9999;
  padding: calc(44px + env(safe-area-inset-top, 0px)) 24px calc(24px + env(safe-area-inset-bottom, 0px));
  box-sizing: border-box;
  overflow-y: auto;
}

.Fairy-twitter-login-layer.is-open {
  display: block;
}

.Fairy-twitter-page.is-main .Fairy-twitter-login-layer {
  display: none !important;
}

.Fairy-twitter-login-box {
  max-width: 380px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.Fairy-twitter-login-logo {
  width: 44px;
  height: 44px;
  color: #0f1419;
  margin-bottom: 24px;
}

.Fairy-twitter-login-logo svg {
  width: 100%;
  height: 100%;
}

.Fairy-twitter-login-title {
  font-size: 28px;
  font-weight: 900;
  color: #0f1419;
  letter-spacing: -0.6px;
  line-height: 34px;
}

.Fairy-twitter-login-sub {
  font-size: 15px;
  color: #536471;
  margin-top: 8px;
  margin-bottom: 28px;
  line-height: 20px;
}

.Fairy-twitter-login-user-list {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.Fairy-twitter-login-user-card {
  width: 100% !important;
  padding: 12px 16px !important;
  border-radius: 16px !important;
  border: 1px solid #cfd9de !important;
  background: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  cursor: pointer !important;
  text-align: left !important;
  transition: all 0.2s ease !important;
}

.Fairy-twitter-login-user-card:active {
  background: #f7f9f9 !important;
  transform: scale(0.985);
  border-color: #1d9bf0 !important;
}

.Fairy-twitter-login-user-avatar {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border-radius: 50% !important;
  background: #cfd3d7;
  overflow: hidden;
  display: grid;
  place-items: center;
  font-size: 20px;
  font-weight: 800;
  color: #536471;
}

.Fairy-twitter-login-user-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.Fairy-twitter-login-user-info {
  flex: 1;
  min-width: 0;
}

.Fairy-twitter-login-user-name {
  font-size: 16px;
  font-weight: 800;
  color: #0f1419;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.Fairy-twitter-login-user-handle {
  font-size: 13px;
  color: #536471;
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.Fairy-twitter-login-arrow {
  width: 20px;
  height: 20px;
  color: #8899a6;
  display: grid;
  place-items: center;
}

.Fairy-twitter-login-loading,
.Fairy-twitter-login-empty {
  padding: 30px 16px;
  font-size: 14px;
  color: #536471;
}

.Fairy-twitter-login-default-btn {
  margin-top: 16px;
  height: 40px !important;
  padding: 0 24px !important;
  border-radius: 9999px !important;
  background: #0f1419 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  border: none !important;
  cursor: pointer !important;
}

/* ==========================================================================
   账号管理底部抽屉弹窗 (1:1 像素级复刻截图)
   ========================================================================== */
#xAccountSheetLayer {
  z-index: 1050 !important; /* 彻底高于侧边栏 999，无需关闭侧边栏即可直接置顶弹出 */
}

.Fairy-twitter-account-sheet {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  max-height: 80vh;
  background: #ffffff;
  border-radius: 28px 28px 0 0 !important;
  padding: 12px 20px calc(24px + env(safe-area-inset-bottom, 0px));
  box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.16);
  z-index: 1060 !important;
  display: flex !important;
  flex-direction: column !important;
  animation: FairyTwitterSlideUp 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.Fairy-twitter-account-list {
  display: flex !important;
  flex-direction: column !important;
  max-height: 48vh;
  overflow-y: auto;
  scrollbar-width: none;
}

.Fairy-twitter-account-list::-webkit-scrollbar {
  display: none;
}

@keyframes FairyTwitterSlideUp {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}

.Fairy-twitter-account-sheet-title {
  font-size: 22px !important;
  font-weight: 900 !important;
  color: #0f1419;
  margin: 4px 0 16px;
  text-align: left;
}

.Fairy-twitter-account-current-card {
  width: 100%;
  display: flex !important;
  align-items: center !important;
  gap: 14px;
  padding: 10px 0 16px;
}

.Fairy-twitter-account-current-card .Fairy-twitter-avatar {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  border-radius: 50% !important;
  background: #cfd3d7;
}

.Fairy-twitter-account-current-info {
  flex: 1;
  min-width: 0;
  text-align: left;
}

.Fairy-twitter-account-current-name {
  font-size: 17px !important;
  font-weight: 850 !important;
  color: #0f1419;
  line-height: 22px;
}

.Fairy-twitter-account-current-handle {
  font-size: 14px !important;
  color: #536471;
  margin-top: 2px;
  line-height: 18px;
}

.Fairy-twitter-account-check-badge {
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  background: #00ba7c !important;
  display: grid !important;
  place-items: center !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-account-check-badge svg {
  width: 14px !important;
  height: 14px !important;
}

.Fairy-twitter-account-actions-box {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px;
  margin-top: 8px;
}

.Fairy-twitter-account-btn {
  width: 100% !important;
  height: 48px !important;
  border-radius: 9999px !important;
  border: 1px solid #cfd9de !important;
  background: #ffffff !important;
  color: #0f1419 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: background 0.18s ease;
}

.Fairy-twitter-account-btn:active {
  background: #eff3f4 !important;
}

.Fairy-twitter-account-btn.is-logout {
  color: #f4212e !important;
  border-color: #fcd5d8 !important;
}

.Fairy-twitter-account-btn.is-logout:active {
  background: #feebee !important;
}

.Fairy-twitter-account-current-card {
  cursor: pointer !important;
  border-radius: 14px;
  padding: 8px 6px !important;
  transition: background 0.15s ease;
}

.Fairy-twitter-account-current-card:active {
  background: #f7f9f9 !important;
}

/* ==========================================================================
   设置与预设抽屉弹窗 (方案二：分栏仪表盘高保真官方卡片流)
   ========================================================================== */
.Fairy-twitter-settings-modal-sheet {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 87vh !important;
  max-height: 89vh !important;
  background: #ffffff !important;
  border-radius: 28px 28px 0 0 !important;
  padding: 8px 0 0 !important;
  box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.2) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  animation: FairyTwitterSlideUp 0.26s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* 顶栏：完全去除底部分割线，左关闭、中标题、右纯文本保存 */
.Fairy-twitter-settings-modal-head {
  height: 48px !important;
  min-height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 16px !important;
  border-bottom: none !important;
  background: #ffffff !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-settings-modal-close {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  color: var(--x-text-main) !important;
  background: #eff3f4 !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-settings-modal-close svg {
  width: 16px !important;
  height: 16px !important;
}

.Fairy-twitter-settings-modal-title {
  font-size: 18px !important;
  font-weight: 850 !important;
  color: #0f1419 !important;
  letter-spacing: -0.3px !important;
  text-align: center !important;
  line-height: 1 !important;
}

/* 顶部右侧占位平衡块，保证标题严格居中 */
.Fairy-twitter-settings-modal-head-space {
  width: 32px !important;
  height: 32px !important;
  flex-shrink: 0 !important;
}

/* 方案二：固定在抽屉弹窗底部的保存栏与全宽大按钮 */
.Fairy-twitter-settings-bottom-bar {
  padding: 10px 18px calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  background: #ffffff !important;
  border-top: 0.5px solid var(--x-border-color) !important;
  flex-shrink: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.Fairy-twitter-settings-bottom-save-btn {
  width: 100% !important;
  height: 46px !important;
  border-radius: 9999px !important;
  background: var(--x-theme-blue) !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 14px rgba(29, 155, 240, 0.35) !important;
  transition: transform 0.15s ease, opacity 0.15s ease !important;
}

.Fairy-twitter-settings-bottom-save-btn:active {
  transform: scale(0.98) !important;
  opacity: 0.85 !important;
}

/* 无底部分割线分段控制器容器 (Segmented Control) */
.Fairy-twitter-settings-nav-box {
  padding: 2px 18px 10px !important;
  background: #ffffff !important;
  flex-shrink: 0 !important;
  width: 100% !important;
}

.Fairy-twitter-settings-segmented {
  display: flex !important;
  background: #eff3f4 !important;
  padding: 3px !important;
  border-radius: 12px !important;
  gap: 4px !important;
  border: none !important;
  width: 100% !important;
}

.Fairy-twitter-settings-seg-btn {
  flex: 1 !important;
  height: 34px !important;
  border-radius: 9px !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  color: var(--x-text-sub) !important;
  border: none !important;
  background: transparent !important;
  cursor: pointer !important;
  display: grid !important;
  place-items: center !important;
  transition: all 0.18s ease !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

.Fairy-twitter-settings-seg-btn.is-active {
  background: #ffffff !important;
  color: #0f1419 !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08) !important;
}

/* 官方卡片规范：纯白底色、1px 微边框、16px 圆角 */
.Fairy-twitter-settings-card {
  background: #ffffff !important;
  border: 1px solid var(--x-border-darker) !important;
  border-radius: 16px !important;
  padding: 14px 16px !important;
  margin-bottom: 12px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  width: 100% !important;
}

.Fairy-twitter-settings-card-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 8px !important;
}

.Fairy-twitter-settings-card-title {
  font-size: 14px !important;
  font-weight: 800 !important;
  color: var(--x-text-main) !important;
  letter-spacing: -0.2px !important;
}

.Fairy-twitter-settings-card-sub {
  font-size: 12px !important;
  color: var(--x-text-sub) !important;
}

/* 预设管理栏：内嵌于卡片内，纯文本无 emoji */
.Fairy-twitter-preset-manager-bar {
  background: #f7f9f9 !important;
  border: 1px solid #eff3f4 !important;
  border-radius: 14px !important;
  padding: 10px 12px !important;
  margin-bottom: 12px !important;
}

.Fairy-twitter-preset-manager-label {
  font-size: 12px !important;
  font-weight: 750 !important;
  color: var(--x-text-sub) !important;
  margin-bottom: 6px !important;
}

.Fairy-twitter-preset-btn-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 10px !important;
}

.Fairy-twitter-preset-pill-btn {
  flex: 1 !important;
  height: 34px !important;
  border-radius: 9999px !important;
  font-size: 12.5px !important;
  font-weight: 750 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  background: #ffffff !important;
  border: 1px solid var(--x-border-darker) !important;
  color: var(--x-text-main) !important;
  padding: 0 10px !important;
}

.Fairy-twitter-preset-pill-btn svg {
  width: 14px !important;
  height: 14px !important;
}

.Fairy-twitter-preset-pill-btn:active {
  background: #eff3f4 !important;
}

.Fairy-twitter-preset-pill-btn.is-delete {
  color: #f4212e !important;
  border-color: #fcd5d8 !important;
}

.Fairy-twitter-preset-pill-btn.is-delete:active {
  background: #feebee !important;
}

/* 推特官方级世界观输入框：圆角 14px，聚焦外发光 */
.Fairy-twitter-settings-textarea-shell {
  width: 100% !important;
}

.Fairy-twitter-settings-textarea {
  width: 100% !important;
  min-height: 96px !important;
  border: 1.5px solid var(--x-border-darker) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  padding: 12px 14px !important;
  font-size: 14.5px !important;
  line-height: 1.5 !important;
  color: var(--x-text-main) !important;
  outline: none !important;
  resize: none !important;
  box-sizing: border-box !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.Fairy-twitter-settings-textarea:focus {
  border-color: var(--x-theme-blue) !important;
  box-shadow: 0 0 0 3.5px rgba(29, 155, 240, 0.14) !important;
  background: #ffffff !important;
}

.Fairy-twitter-settings-textarea::placeholder {
  color: #8899a6 !important;
  font-size: 13.5px !important;
}

.Fairy-twitter-settings-npc-add-text-btn {
  background: transparent !important;
  border: none !important;
  color: var(--x-theme-blue) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  padding: 0 !important;
}

.Fairy-twitter-settings-tip-text {
  font-size: 12px !important;
  color: var(--x-text-sub) !important;
  margin-top: 8px !important;
  line-height: 17px !important;
}

/* 角色与 NPC：一行 4 个，多出来的自动换行折行显示 */
.Fairy-twitter-settings-char-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 14px 8px !important;
  padding: 6px 0 10px !important;
  width: 100% !important;
}

.Fairy-twitter-settings-char-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px !important;
  text-align: center !important;
  position: relative !important;
  cursor: pointer !important;
  user-select: none !important;
}

.Fairy-twitter-settings-char-avatar-wrap {
  position: relative !important;
  width: 52px !important;
  height: 52px !important;
  flex: 0 0 52px !important;
  flex-shrink: 0 !important;
}

/* NPC 编辑模式切换按钮与删除角标 */
.Fairy-twitter-settings-npc-mode-btn {
  background: transparent !important;
  border: none !important;
  color: var(--x-theme-blue) !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  cursor: pointer !important;
  padding: 2px 4px !important;
}

.Fairy-twitter-npc-delete-badge {
  position: absolute !important;
  top: -3px !important;
  right: -3px !important;
  width: 19px !important;
  height: 19px !important;
  border-radius: 50% !important;
  background: #f4212e !important;
  color: #ffffff !important;
  border: 1.5px solid #ffffff !important;
  display: grid !important;
  place-items: center !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  z-index: 6 !important;
  cursor: pointer !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.2) !important;
}

.Fairy-twitter-settings-char-avatar {
  width: 100% !important;
  height: 100% !important;
  border-radius: 50% !important;
  background: #cfd3d7 !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #536471 !important;
  aspect-ratio: 1 / 1 !important;
  box-sizing: border-box !important;
  transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.Fairy-twitter-settings-char-card.is-selected .Fairy-twitter-settings-char-avatar {
  border: 2.5px solid var(--x-theme-blue) !important;
  transform: scale(1.05) !important;
}

.Fairy-twitter-settings-char-grid::-webkit-scrollbar {
  display: none;
}

.Fairy-twitter-settings-char-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px;
  flex: 0 0 68px !important;
  text-align: center;
  position: relative !important;
  cursor: pointer;
}

.Fairy-twitter-settings-char-avatar-wrap {
  position: relative !important;
  width: 52px !important;
  height: 52px !important;
  flex: 0 0 52px !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-settings-char-avatar {
  width: 100% !important;
  height: 100% !important;
  border-radius: 50% !important;
  background: #cfd3d7;
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
  font-size: 18px;
  font-weight: 800;
  color: #536471;
  aspect-ratio: 1 / 1 !important;
  box-sizing: border-box !important;
}

.Fairy-twitter-settings-char-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.Fairy-twitter-settings-char-name {
  font-size: 13px !important;
  font-weight: 750 !important;
  color: #0f1419;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 68px;
}

/* NPC 头部与列表 */
.Fairy-twitter-settings-npc-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100%;
}

.Fairy-twitter-settings-circle-add-btn {
  width: 32px !important;
  height: 32px !important;
  color: #1d9bf0 !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
}

.Fairy-twitter-settings-circle-add-btn svg {
  width: 26px !important;
  height: 26px !important;
}

.Fairy-twitter-settings-npc-list {
  display: flex !important;
  flex-direction: column !important;
  margin-top: 8px;
  border-top: 0.5px solid var(--x-border-color);
}

.Fairy-twitter-settings-npc-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 0.5px solid var(--x-border-color);
}

.Fairy-twitter-settings-npc-avatar {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: #eff3f4;
  display: grid !important;
  place-items: center !important;
  font-size: 14px;
  font-weight: 800;
  color: #536471;
  flex-shrink: 0;
}

.Fairy-twitter-settings-npc-name {
  flex: 1;
  font-size: 15px;
  font-weight: 750;
  color: #0f1419;
}

/* ==========================================================================
   主页顶栏双动作按钮排列 (魔法棒 + 设置)
   ========================================================================== */
.Fairy-twitter-topbar-actions-right {
  grid-column: 3;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 2px !important;
}

/* ==========================================================================
   AI 演进生成内容勾选弹窗抽屉样式
   ========================================================================== */
#xEvolveSheetLayer {
  z-index: 1040 !important;
}

.Fairy-twitter-evolve-sheet {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: #ffffff;
  border-radius: 28px 28px 0 0 !important;
  padding: 14px 22px calc(24px + env(safe-area-inset-bottom, 0px));
  box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.18);
  display: flex !important;
  flex-direction: column !important;
  animation: FairyTwitterSlideUp 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.Fairy-twitter-evolve-sheet-title {
  font-size: 20px !important;
  font-weight: 900 !important;
  color: #0f1419;
  margin-top: 4px;
  line-height: 26px;
}

.Fairy-twitter-evolve-sheet-sub {
  font-size: 14px !important;
  color: #536471;
  margin-top: 4px;
  margin-bottom: 18px;
  line-height: 20px;
}

.Fairy-twitter-evolve-options {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px;
}

.Fairy-twitter-evolve-opt {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid #cfd9de;
  border-radius: 16px;
  cursor: pointer;
  background: #f7f9f9;
  transition: all 0.2s ease;
}

.Fairy-twitter-evolve-opt:has(input:checked) {
  border-color: #1d9bf0;
  background: #f0f8ff;
}

.Fairy-twitter-evolve-opt input[type="checkbox"] {
  width: 20px !important;
  height: 20px !important;
  margin-top: 2px;
  accent-color: #1d9bf0 !important;
  cursor: pointer;
  flex-shrink: 0;
}

.Fairy-twitter-evolve-opt-content {
  flex: 1;
}

.Fairy-twitter-evolve-opt-title {
  font-size: 15px;
  font-weight: 800;
  color: #0f1419;
  line-height: 20px;
}

.Fairy-twitter-evolve-opt-desc {
  font-size: 12px;
  color: #536471;
  margin-top: 3px;
  line-height: 17px;
}

.Fairy-twitter-evolve-actions {
  margin-top: 20px;
}

.Fairy-twitter-evolve-start-btn {
  width: 100% !important;
  height: 48px !important;
  border-radius: 9999px !important;
  background: #0f1419 !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.18s ease;
}

.Fairy-twitter-evolve-start-btn:active {
  background: #272c30 !important;
}

.Fairy-twitter-evolve-start-btn:disabled {
  opacity: 0.6;
  cursor: wait !important;
}

/* ==========================================================================
   赛道人设选择器与 Badge 样式
   ========================================================================== */
.Fairy-twitter-mimic-select {
  width: 100% !important;
  height: 38px !important;
  border: 1px solid #cfd9de !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0f1419 !important;
  padding: 0 10px !important;
  margin-top: 4px;
}

.Fairy-twitter-track-badge {
  font-size: 11px !important;
  font-weight: 800 !important;
  padding: 1px 6px !important;
  border-radius: 4px !important;
  background: #eff3f4;
  color: #536471;
  margin-left: 4px;
  vertical-align: middle;
}

.Fairy-twitter-track-badge.nsfw {
  background: #feebee !important;
  color: #f4212e !important;
}

/* ==========================================================================
   🔒 专属订阅付费锁帖样式 (Paywall)
   ========================================================================== */
.Fairy-twitter-paywall-card {
  margin-top: 10px;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  min-height: 160px;
  background: #0f1419;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.Fairy-twitter-paywall-blur-bg {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle, rgba(29, 155, 240, 0.4) 0%, rgba(15, 20, 25, 0.95) 75%);
  filter: blur(14px);
}

.Fairy-twitter-paywall-content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 16px;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.Fairy-twitter-paywall-lock-icon {
  font-size: 26px;
  margin-bottom: 6px;
}

.Fairy-twitter-paywall-title {
  font-size: 16px;
  font-weight: 850;
  color: #ffffff;
}

.Fairy-twitter-paywall-desc {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.8);
  margin-top: 4px;
  margin-bottom: 12px;
}

.Fairy-twitter-paywall-unlock-btn {
  height: 36px !important;
  padding: 0 20px !important;
  border-radius: 9999px !important;
  background: #1d9bf0 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  border: none !important;
  cursor: pointer !important;
  transition: transform 0.15s ease;
}

.Fairy-twitter-paywall-unlock-btn:active {
  transform: scale(0.96);
}

.Fairy-twitter-tip-btn {
  color: #f59e0b !important;
}

.Fairy-twitter-tip-icon {
  font-size: 16px;
}

/* ==========================================================================
   Spaces 全屏实时语音连麦直播间
   ========================================================================== */
.Fairy-twitter-space-room-layer {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 2000 !important;
  background: rgba(15, 23, 42, 0.7);
  animation: FairyTwitterFadeIn 0.2s ease;
}

.Fairy-twitter-space-room-layer.is-open {
  display: block;
}

.Fairy-twitter-space-room-sheet {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 90vh;
  background: linear-gradient(180deg, #1e1b4b 0%, #0f172a 100%);
  border-radius: 28px 28px 0 0;
  color: #ffffff;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden;
  box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.4);
}

.Fairy-twitter-space-room-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 16px 20px;
}

.Fairy-twitter-space-room-close,
.Fairy-twitter-space-room-share {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  display: grid;
  place-items: center;
  color: #ffffff;
  border: none;
  cursor: pointer;
}

.Fairy-twitter-space-room-close svg,
.Fairy-twitter-space-room-share svg {
  width: 20px;
  height: 20px;
}

.Fairy-twitter-space-room-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(239, 68, 68, 0.25);
  border: 1px solid rgba(239, 68, 68, 0.5);
  padding: 4px 12px;
  border-radius: 9999px;
  font-size: 13px;
  font-weight: 800;
  color: #fca5a5;
}

.Fairy-twitter-space-room-pulse {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ef4444;
  animation: FairyTwitterPulse 1.2s infinite;
}

@keyframes FairyTwitterPulse {
  0% { transform: scale(0.9); opacity: 0.7; }
  50% { transform: scale(1.3); opacity: 1; }
  100% { transform: scale(0.9); opacity: 0.7; }
}

.Fairy-twitter-space-room-scroll {
  flex: 1;
  overflow-y: auto;
  padding: 0 20px 20px;
}

.Fairy-twitter-space-room-title {
  font-size: 22px;
  font-weight: 900;
  line-height: 28px;
  margin-top: 6px;
}

.Fairy-twitter-space-room-stats {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
  margin-top: 4px;
  margin-bottom: 20px;
}

.Fairy-twitter-space-speakers-grid {
  display: flex;
  gap: 20px;
  padding: 10px 0 24px;
}

.Fairy-twitter-space-speaker-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.Fairy-twitter-space-speaker-avatar {
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  min-height: 64px !important;
  flex: 0 0 64px !important;
  flex-shrink: 0 !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
  background: #6366f1;
  display: grid;
  place-items: center;
  font-size: 24px;
  font-weight: 850;
  position: relative;
  overflow: hidden !important;
}

.Fairy-twitter-space-speaker-avatar.is-speaking {
  border: 3px solid #38bdf8;
}

.Fairy-twitter-space-speaker-name {
  font-size: 13px;
  font-weight: 750;
  color: rgba(255, 255, 255, 0.9);
}

.Fairy-twitter-space-transcript-box {
  background: rgba(15, 23, 42, 0.6);
  border-radius: 18px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.Fairy-twitter-space-transcript-title {
  font-size: 13px;
  font-weight: 800;
  color: #38bdf8;
  margin-bottom: 10px;
}

.Fairy-twitter-space-transcript-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 200px;
  overflow-y: auto;
}

.Fairy-twitter-space-transcript-item {
  font-size: 14px;
  line-height: 20px;
  color: rgba(255, 255, 255, 0.85);
}

.Fairy-twitter-space-transcript-item.my-danmaku {
  color: #facc15;
}

.Fairy-twitter-space-room-footer {
  padding: 10px 16px calc(14px + env(safe-area-inset-bottom, 0px));
  display: flex !important;
  flex-direction: column !important;
  gap: 10px;
  background: rgba(15, 23, 42, 0.94);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  box-sizing: border-box !important;
}

.Fairy-twitter-space-control-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100%;
}

.Fairy-twitter-space-control-right {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
}

.Fairy-twitter-space-mic-toggle-btn {
  height: 36px !important;
  padding: 0 14px !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.16) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  cursor: pointer;
}

.Fairy-twitter-space-ai-evolve-btn {
  height: 36px !important;
  padding: 0 12px !important;
  border-radius: 18px !important;
  background: #38bdf8 !important;
  color: #0f172a !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  border: none !important;
  cursor: pointer;
}

.Fairy-twitter-space-ai-evolve-btn svg {
  width: 16px !important;
  height: 16px !important;
}

.Fairy-twitter-space-heart-btn {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.14) !important;
  display: grid !important;
  place-items: center !important;
  color: #ffffff !important;
  border: none !important;
  cursor: pointer;
}

.Fairy-twitter-space-heart-btn svg {
  width: 18px !important;
  height: 18px !important;
}

.Fairy-twitter-space-input-capsule {
  width: 100% !important;
  height: 42px;
  border-radius: 21px;
  background: rgba(255, 255, 255, 0.12);
  display: flex !important;
  align-items: center !important;
  padding: 0 6px 0 14px;
}

.Fairy-twitter-space-input-capsule input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: #ffffff;
  font-size: 14px;
}

.Fairy-twitter-space-input-capsule button {
  height: 32px;
  padding: 0 16px;
  border-radius: 16px;
  background: #38bdf8;
  color: #0f172a;
  font-size: 13px;
  font-weight: 800;
  border: none;
  cursor: pointer;
}

/* ==========================================================================
   预设设置：Char 勾选行与关联 NPC 列表
   ========================================================================== */
.Fairy-twitter-settings-char-select-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px;
  max-height: 220px;
  overflow-y: auto;
  margin-top: 8px;
}

.Fairy-twitter-settings-char-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px;
  padding: 8px 12px;
  border-radius: 12px;
  border: 1px solid #eff3f4;
  background: #f7f9f9;
  cursor: pointer;
}

.Fairy-twitter-settings-char-row:has(input:checked) {
  border-color: #1d9bf0;
  background: #f0f8ff;
}

.Fairy-twitter-settings-char-row input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: #1d9bf0;
}

.Fairy-twitter-settings-char-info {
  flex: 1;
  min-width: 0;
}

.Fairy-twitter-settings-char-desc {
  font-size: 11px;
  color: #536471;
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.Fairy-twitter-settings-npc-content {
  flex: 1;
}

.Fairy-twitter-settings-npc-role {
  font-size: 11px;
  color: #536471;
  margin-top: 1px;
}

.Fairy-twitter-linked-tag {
  font-size: 11px;
  font-weight: 750;
  color: #1d9bf0;
  background: #e0f2fe;
  padding: 2px 8px;
  border-radius: 6px;
}

/* ==========================================================================
   评论走向定制标签
   ========================================================================== */
.Fairy-twitter-comment-trend-presets {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.Fairy-twitter-trend-tag {
  font-size: 12px !important;
  font-weight: 750 !important;
  color: #1d9bf0 !important;
  background: #eff3f4 !important;
  border-radius: 16px !important;
  padding: 6px 12px !important;
  border: none !important;
  cursor: pointer;
  transition: all 0.15s ease;
}

.Fairy-twitter-trend-tag:active {
  background: #1d9bf0 !important;
  color: #ffffff !important;
}

/* ==========================================================================
   Premium 会员真实订阅卡片
   ========================================================================== */
.Fairy-twitter-premium-plans-box {
  padding: 20px 16px;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px;
}

.Fairy-twitter-premium-head-hero {
  text-align: center;
}

.Fairy-twitter-premium-head-hero h2 {
  font-size: 24px;
  font-weight: 900;
  color: #0f1419;
}

.Fairy-twitter-premium-head-hero p {
  font-size: 14px;
  color: #536471;
  margin-top: 6px;
  line-height: 20px;
}

.Fairy-twitter-premium-card {
  border: 2px solid #cfd9de;
  border-radius: 20px;
  padding: 20px;
  background: #ffffff;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px;
}

.Fairy-twitter-premium-card.is-subscribed {
  border-color: #1d9bf0;
  background: #f0f8ff;
}

.Fairy-twitter-premium-plan-title {
  font-size: 18px;
  font-weight: 850;
  color: #0f1419;
}

.Fairy-twitter-premium-price {
  font-size: 28px;
  font-weight: 900;
  color: #0f1419;
}

.Fairy-twitter-premium-price span {
  font-size: 14px;
  font-weight: 600;
  color: #536471;
}

.Fairy-twitter-premium-perks {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px;
  font-size: 14px;
  color: #0f1419;
  font-weight: 650;
}

.Fairy-twitter-premium-sub-btn {
  height: 44px !important;
  border-radius: 9999px !important;
  background: #0f1419 !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  border: none !important;
  cursor: pointer;
  margin-top: 6px;
}

/* ==========================================================================
   创作者工作室 (Creator Studio) 真实数据看板
   ========================================================================== */
.Fairy-twitter-creator-studio-box {
  padding: 20px 16px;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px;
}

.Fairy-twitter-creator-header h2 {
  font-size: 22px;
  font-weight: 900;
  color: #0f1419;
}

.Fairy-twitter-creator-header p {
  font-size: 14px;
  color: #536471;
  margin-top: 4px;
}

.Fairy-twitter-creator-metrics-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px;
}

.Fairy-twitter-creator-metric-card {
  padding: 14px 10px;
  border-radius: 16px;
  background: #f7f9f9;
  border: 1px solid #eff3f4;
  text-align: center;
}

.Fairy-twitter-creator-metric-card.highlight {
  background: #fef3c7;
  border-color: #fde68a;
}

.Fairy-twitter-metric-val {
  font-size: 20px;
  font-weight: 900;
  color: #0f1419;
}

.Fairy-twitter-metric-label {
  font-size: 11px;
  font-weight: 700;
  color: #536471;
  margin-top: 4px;
}

.Fairy-twitter-creator-payout-card {
  padding: 16px;
  border-radius: 18px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
}

.Fairy-twitter-creator-payout-card h3 {
  font-size: 16px;
  font-weight: 800;
  color: #166534;
}

.Fairy-twitter-creator-payout-card p {
  font-size: 13px;
  color: #15803d;
  margin: 4px 0 12px;
}

.Fairy-twitter-payout-btn {
  height: 40px !important;
  padding: 0 20px !important;
  border-radius: 9999px !important;
  background: #16a34a !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  border: none !important;
  cursor: pointer;
}

.Fairy-twitter-payout-btn:disabled {
  background: #86efac !important;
  cursor: not-allowed;
}

/* ==========================================================================
   居中弹窗样式 (Center Modal)
   ========================================================================== */
.Fairy-twitter-center-modal {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 88%;
  max-width: 360px;
  background: #ffffff;
  border-radius: 20px !important;
  padding: 20px;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.22);
  display: flex !important;
  flex-direction: column !important;
  z-index: 1100;
  animation: FairyTwitterFadeIn 0.2s ease;
}

.Fairy-twitter-center-modal-title {
  font-size: 18px !important;
  font-weight: 850 !important;
  color: #0f1419;
  text-align: center;
  margin-bottom: 14px;
}

.Fairy-twitter-modal-tabs {
  display: flex !important;
  gap: 8px;
  margin-bottom: 12px;
}

.Fairy-twitter-modal-tab {
  flex: 1;
  height: 34px !important;
  border-radius: 17px !important;
  background: #eff3f4 !important;
  color: #536471 !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  border: none !important;
  cursor: pointer;
}

.Fairy-twitter-modal-tab.is-active {
  background: #0f1419 !important;
  color: #ffffff !important;
}

.Fairy-twitter-center-modal-input {
  width: 100%;
  border: 1px solid #cfd9de !important;
  border-radius: 12px !important;
  padding: 10px !important;
  font-size: 14px !important;
  outline: none !important;
  resize: none;
}

.Fairy-twitter-center-modal-actions {
  display: flex !important;
  justify-content: space-between !important;
  margin-top: 18px;
  gap: 12px;
}

.Fairy-twitter-modal-btn {
  flex: 1;
  height: 40px !important;
  border-radius: 20px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  cursor: pointer;
  border: none;
}

.Fairy-twitter-modal-btn.cancel {
  background: #eff3f4 !important;
  color: #536471 !important;
}

.Fairy-twitter-modal-btn.confirm {
  background: #1d9bf0 !important;
  color: #ffffff !important;
}

/* ==========================================================================
   NPC 头像上传框与勾选样式
   ========================================================================== */
.Fairy-twitter-npc-avatar-upload {
  width: 68px !important;
  height: 68px !important;
  border-radius: 50% !important;
  background: #eff3f4;
  border: 1.5px dashed #cfd9de;
  margin: 0 auto 10px;
  display: grid !important;
  place-items: center !important;
  font-size: 11px;
  color: #536471;
  cursor: pointer;
  background-size: cover;
  background-position: center;
}

.Fairy-twitter-settings-char-card.is-selected .Fairy-twitter-settings-char-avatar {
  border: 2.5px solid #1d9bf0 !important;
}

.Fairy-twitter-char-check-dot {
  position: absolute !important;
  right: -2px !important;
  bottom: -2px !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: #1d9bf0 !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  display: grid !important;
  place-items: center !important;
  z-index: 5 !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.2) !important;
}

/* ==========================================================================
   微信表情包选择网格
   ========================================================================== */
.Fairy-twitter-emoji-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px;
  max-height: 45vh;
  overflow-y: auto;
  padding: 8px 0;
}

.Fairy-twitter-emoji-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px;
  cursor: pointer;
  padding: 6px;
  border-radius: 10px;
  transition: background 0.15s;
}

.Fairy-twitter-emoji-item:active {
  background: #eff3f4;
}

.Fairy-twitter-emoji-item img {
  width: 48px !important;
  height: 48px !important;
  object-fit: contain;
}

.Fairy-twitter-emoji-item span {
  font-size: 11px;
  color: #536471;
  max-width: 60px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* ==========================================================================
   全局最高 Z-Index 层级重构（彻底解决被遮挡、退出才能看到的问题）
   ========================================================================== */
.Fairy-twitter-profile-layer {
  z-index: 100 !important; /* 彻底高于详情层(45)与发帖层(99)，无论从哪里点头像均在最顶层展示 */
}

/* 居中弹窗与 ActionSheet 全局容器：置顶至 2500 */
.Fairy-twitter-actionsheet-layer {
  z-index: 2500 !important;
}

#xCameraModalLayer,
#xLocationModalLayer,
#xNpcModalLayer,
#xEmojiPickerLayer,
#xReplyPolicySheetLayer {
  z-index: 2600 !important;
}

/* 投票交互卡片与动态进度条 */
.Fairy-twitter-post-poll-box {
  margin-top: 10px;
  border-radius: 14px;
  border: 1px solid var(--x-border-darker);
  overflow: hidden;
  display: flex !important;
  flex-direction: column !important;
  background: #ffffff;
}

.Fairy-twitter-post-poll-row {
  position: relative;
  width: 100% !important;
  height: 40px !important;
  padding: 0 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #ffffff !important;
  border: none !important;
  border-bottom: 0.5px solid var(--x-border-color) !important;
  cursor: pointer;
  overflow: hidden;
}

.Fairy-twitter-post-poll-row:active {
  background: #f7f9f9 !important;
}

.Fairy-twitter-poll-fill {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  background: #e0f2fe;
  z-index: 1;
  transition: width 0.4s ease;
}

.Fairy-twitter-poll-label {
  position: relative;
  z-index: 2;
  font-size: 14px;
  font-weight: 750;
  color: #0f1419;
}

.Fairy-twitter-poll-pct {
  position: relative;
  z-index: 2;
  font-size: 13px;
  font-weight: 800;
  color: #0284c7;
}

.Fairy-twitter-post-poll-row.is-my-pick .Fairy-twitter-poll-label {
  color: #0284c7;
}

.Fairy-twitter-poll-meta {
  padding: 8px 14px;
  font-size: 12px;
  color: #536471;
  font-weight: 600;
  background: #f8fafc;
}

.Fairy-twitter-compose-poll-add-opt {
  margin-top: 8px;
  height: 32px;
  padding: 0 12px;
  font-size: 13px;
  font-weight: 750;
  color: #1d9bf0;
  background: #eff3f4;
  border-radius: 8px;
  border: none;
  cursor: pointer;
}

/* 地址定位弹窗与标签 */
.Fairy-twitter-location-search-box {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
  height: 40px;
  padding: 0 12px;
  background: #eff3f4;
  border-radius: 20px;
  margin-bottom: 12px;
}

.Fairy-twitter-location-search-box input {
  flex: 1;
  border: none !important;
  background: transparent !important;
  outline: none;
  font-size: 14px;
}

.Fairy-twitter-location-presets {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
  max-height: 140px;
  overflow-y: auto;
}

.Fairy-twitter-location-tag {
  font-size: 12px;
  font-weight: 700;
  color: #536471;
  background: #f7f9f9;
  border: 1px solid #cfd9de;
  border-radius: 14px;
  padding: 5px 10px;
  cursor: pointer;
}

/* 回复权限选择行 */
.Fairy-twitter-policy-options {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px;
  padding: 6px 0 16px;
}

.Fairy-twitter-policy-row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px;
  padding: 12px 16px;
  border-radius: 14px;
  background: #ffffff;
  border: 1px solid transparent;
  cursor: pointer;
  text-align: left !important;
  width: 100% !important;
}

.Fairy-twitter-policy-info {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
}

.Fairy-twitter-policy-row.is-active {
  background: #f0f8ff;
  border-color: #1d9bf0;
}

.Fairy-twitter-policy-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #eff3f4;
  display: grid;
  place-items: center;
  color: #0f1419;
  flex-shrink: 0;
}

.Fairy-twitter-policy-icon svg {
  width: 20px;
  height: 20px;
}

.Fairy-twitter-policy-title {
  font-size: 15px;
  font-weight: 800;
  color: #0f1419;
}

.Fairy-twitter-policy-desc {
  font-size: 12px;
  color: #536471;
  margin-top: 2px;
}

/* ==========================================================================
   Spaces 完善工具栏样式（申请上麦与 AI 麦上推演按钮）
   ========================================================================== */
#xCreateSpaceModalLayer {
  z-index: 2600 !important;
}

.Fairy-twitter-space-mic-toggle-btn {
  height: 38px !important;
  padding: 0 14px !important;
  border-radius: 19px !important;
  background: rgba(255, 255, 255, 0.16) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  cursor: pointer;
  white-space: nowrap;
}

.Fairy-twitter-space-mic-toggle-btn svg {
  width: 17px !important;
  height: 17px !important;
}

.Fairy-twitter-space-ai-evolve-btn {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: #38bdf8 !important;
  color: #0f172a !important;
  display: grid !important;
  place-items: center !important;
  border: none !important;
  cursor: pointer;
  flex-shrink: 0;
}

.Fairy-twitter-space-ai-evolve-btn svg {
  width: 20px !important;
  height: 20px !important;
}

/* ==========================================================================
   发帖器内引用推文卡片样式 (Quote Post Preview)
   ========================================================================== */
.Fairy-twitter-compose-quote-preview {
  position: relative;
  margin-top: 10px;
  margin-bottom: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid #cfd9de;
  background: #ffffff;
}

.Fairy-twitter-compose-quote-remove {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background: rgba(15, 20, 25, 0.65) !important;
  color: #ffffff !important;
  display: grid !important;
  place-items: center !important;
  border: none !important;
  cursor: pointer;
}

.Fairy-twitter-compose-quote-remove svg {
  width: 14px !important;
  height: 14px !important;
}

.Fairy-twitter-compose-quote-header {
  display: flex !important;
  align-items: center !important;
  gap: 6px;
}

.Fairy-twitter-compose-quote-avatar {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  flex: 0 0 20px !important;
  flex-shrink: 0 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  aspect-ratio: 1 / 1 !important;
}

.Fairy-twitter-compose-quote-name {
  font-size: 14px;
  font-weight: 800;
  color: #0f1419;
}

.Fairy-twitter-compose-quote-handle {
  font-size: 13px;
  color: #536471;
}

.Fairy-twitter-compose-quote-text {
  font-size: 14px;
  color: #0f1419;
  line-height: 19px;
  margin-top: 6px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* ==========================================================================
   世界书手风琴折叠样式规范 (单个整卡片 + 圆润大号三角形 + 尾部勾选SVG)
   ========================================================================== */
/* 外层统一大卡片容器：去除各个独立小卡片，所有分组收拢于此 */
.Fairy-twitter-wb-accordion-list {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  border: 1.5px solid var(--x-border-darker) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #ffffff !important;
}

/* 分组行：不再是独立卡片，仅通过底边细线区隔 */
.Fairy-twitter-wb-accordion-group {
  border: none !important;
  border-bottom: 0.5px solid var(--x-border-color) !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  width: 100% !important;
}

.Fairy-twitter-wb-accordion-group:last-child {
  border-bottom: none !important;
}

.Fairy-twitter-wb-accordion-header {
  padding: 12px 14px !important;
  background: #f7f9f9 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  cursor: pointer !important;
  user-select: none !important;
  transition: background 0.15s ease !important;
}

.Fairy-twitter-wb-accordion-header:active {
  background: #eff3f4 !important;
}

/* 圆润 Play 播放键风格三角形折叠 SVG 图标 (指向右侧，展开顺时针旋转90度朝下) */
.Fairy-twitter-accordion-triangle {
  width: 16px !important;
  height: 16px !important;
  color: #536471 !important;
  transition: transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  flex-shrink: 0 !important;
  transform: rotate(0deg); /* 默认折叠：右侧三角 */
}

.Fairy-twitter-wb-accordion-group.is-open .Fairy-twitter-accordion-triangle {
  transform: rotate(90deg) !important; /* 展开状态：顺时针旋转朝下 */
  color: var(--x-theme-blue) !important;
}

/* 世界书分组名称：字号适度加大且加粗 */
.Fairy-twitter-wb-group-name {
  font-size: 15px !important;
  font-weight: 800 !important;
  color: #0f1419 !important;
  flex: 1 !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.Fairy-twitter-wb-group-badge {
  font-size: 11px !important;
  font-weight: 750 !important;
  color: #536471 !important;
  background: #eff3f4 !important;
  padding: 2px 8px !important;
  border-radius: 9999px !important;
}

/* 手风琴展开内容列表 */
.Fairy-twitter-wb-accordion-body {
  display: none !important;
  padding: 2px 14px 6px !important;
  background: #ffffff !important;
  border-top: 0.5px solid #eff3f4 !important;
}

.Fairy-twitter-wb-accordion-group.is-open .Fairy-twitter-wb-accordion-body {
  display: flex !important;
  flex-direction: column !important;
}

/* 世界书条目行：左复选框、中名称、右侧为勾选触发的打勾 SVG 图标 */
.Fairy-twitter-wb-entry-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 4px !important;
  cursor: pointer !important;
  border-bottom: 0.5px solid #eff3f4 !important;
  margin: 0 !important;
  position: relative !important;
}

.Fairy-twitter-wb-entry-row:last-child {
  border-bottom: none !important;
}

.Fairy-twitter-wb-entry-row input[type="checkbox"] {
  width: 17px !important;
  height: 17px !important;
  accent-color: var(--x-theme-blue) !important;
  cursor: pointer !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

/* 词条名称：字号小于分组 (13.5px) */
.Fairy-twitter-wb-entry-name {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #0f1419 !important;
  line-height: 1.4 !important;
  flex: 1 !important;
  min-width: 0 !important;
}

.Fairy-twitter-wb-entry-row.is-checked .Fairy-twitter-wb-entry-name {
  color: var(--x-theme-blue) !important;
  font-weight: 750 !important;
}

/* 尾部勾选展示的打勾 (✓) SVG 图标（提升选择器特异性，杜绝未勾选默认外露） */
.Fairy-twitter-page svg.Fairy-twitter-wb-entry-check-svg {
  width: 17px !important;
  height: 17px !important;
  color: var(--x-theme-blue) !important;
  display: none !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-page .Fairy-twitter-wb-entry-row.is-checked svg.Fairy-twitter-wb-entry-check-svg {
  display: block !important;
}

/* NPC 编辑模式下，头像呈现可点击的微动画反馈 */
.Fairy-twitter-settings-char-card.is-editing .Fairy-twitter-settings-char-avatar {
  border: 1.5px dashed var(--x-theme-blue) !important;
  opacity: 0.9 !important;
}

/* ==========================================================================
   原生 V1 保护与防污染兜底规则
   ========================================================================== */
.Fairy-twitter-page:not([data-theme="v2"]) .Fairy-twitter-v2-topbar,
.Fairy-twitter-page:not([data-theme="v2"]) .Fairy-twitter-dock-center-plus {
  display: none !important;
}

/* 默认隐藏 V2 底栏英文标签 */
.Fairy-twitter-dock-v2-label {
  display: none;
}

/* 抽屉子页面层（含论坛美化页面）层级置顶，彻底盖住底部 Dock */
.Fairy-twitter-drawer-page-layer {
  z-index: 100 !important;
}

/* ==========================================================================
   原生 V1 保护与防污染兜底规则 (V1 状态下 100% 隐藏 V2 独有元素)
   ========================================================================== */
.Fairy-twitter-page:not([data-theme="v2"]) .Fairy-twitter-v2-topbar,
.Fairy-twitter-page:not([data-theme="v2"]) .Fairy-twitter-v2-dock-btn-box,
.Fairy-twitter-page:not([data-theme="v2"]) .Fairy-twitter-dock-center-plus {
  display: none !important;
}

/* ==========================================================================
   第2套论坛美化：100% 严格隔离沙盒样式 (只在 data-theme="v2" 时生效)
   ========================================================================== */

/* 1. V2 模式下隐藏 V1 内部顶栏、FAB 悬浮按钮以及底栏中的原版 V1 图标与 Grok */
.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-topbar,
.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-page-head,
.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-grok-head,
.Fairy-twitter-page[data-theme="v2"] #xComposeFab,
.Fairy-twitter-page[data-theme="v2"] .v1-grok-tab,
.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-dock-item[data-x-tab="grok"],
.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-dock-line,
.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-dock-fill {
  display: none !important;
}

/* 2. V2 模式下子页面彻底隐藏悬浮底栏与顶栏 (发帖、推文详情、私信聊天、空间、全屏回复、搜索页、抽屉页等) */
.Fairy-twitter-page[data-theme="v2"]:has(#xDetailLayer.is-open) .Fairy-twitter-dock,
.Fairy-twitter-page[data-theme="v2"]:has(#xComposeLayer.is-open) .Fairy-twitter-dock,
.Fairy-twitter-page[data-theme="v2"]:has(#xProfileLayer.is-open) .Fairy-twitter-dock,
.Fairy-twitter-page[data-theme="v2"]:has(#xDrawerPageLayer.is-open) .Fairy-twitter-dock,
.Fairy-twitter-page[data-theme="v2"]:has(#xSearchPageLayer.is-open) .Fairy-twitter-dock,
.Fairy-twitter-page[data-theme="v2"]:has(#xReplyFullscreenLayer.is-open) .Fairy-twitter-dock,
.Fairy-twitter-page[data-theme="v2"]:has(#xMessageThread.is-open) .Fairy-twitter-dock,
.Fairy-twitter-page[data-theme="v2"]:has(#xSpaceRoomLayer.is-open) .Fairy-twitter-dock,
.Fairy-twitter-page[data-theme="v2"]:has(#xViewGrok.is-active) .Fairy-twitter-dock,
.Fairy-twitter-page[data-theme="v2"].Fairy-twitter-chat-open .Fairy-twitter-dock {
  display: none !important;
}

.Fairy-twitter-page[data-theme="v2"]:has(#xDetailLayer.is-open) #xV2GlobalTopbar,
.Fairy-twitter-page[data-theme="v2"]:has(#xComposeLayer.is-open) #xV2GlobalTopbar,
.Fairy-twitter-page[data-theme="v2"]:has(#xProfileLayer.is-open) #xV2GlobalTopbar,
.Fairy-twitter-page[data-theme="v2"]:has(#xDrawerPageLayer.is-open) #xV2GlobalTopbar,
.Fairy-twitter-page[data-theme="v2"]:has(#xSearchPageLayer.is-open) #xV2GlobalTopbar,
.Fairy-twitter-page[data-theme="v2"]:has(#xReplyFullscreenLayer.is-open) #xV2GlobalTopbar,
.Fairy-twitter-page[data-theme="v2"]:has(#xMessageThread.is-open) #xV2GlobalTopbar,
.Fairy-twitter-page[data-theme="v2"]:has(#xSpaceRoomLayer.is-open) #xV2GlobalTopbar,
.Fairy-twitter-page[data-theme="v2"].Fairy-twitter-chat-open #xV2GlobalTopbar {
  display: none !important;
}

/* 3. V2 模式内容区大卡片 (增大内边距、圆角 4px) */
.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-view {
  top: calc(96px + env(safe-area-inset-top, 0px)) !important;
  left: 10px !important;
  right: 10px !important;
  bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important;
  border-radius: 4px !important;
  border: 1px solid var(--x-border-darker) !important;
  background: #ffffff !important;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04) !important;
  overflow: hidden !important;
}

/* V2 模式下私信聊天室 100% 保持原版全屏纯净模式，无任何卡片外框 */
.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-chat-thread {
  position: fixed !important;
  inset: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  z-index: 200 !important;
}

.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-chat-body {
  background: #ffffff !important;
  padding: 16px 14px !important;
}

/* V2 推文内边距扩大 */
.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-post {
  margin: 0 !important;
  border-radius: 0 !important;
  border: none !important;
  border-bottom: 0.5px solid var(--x-border-color) !important;
  background: #ffffff !important;
  padding: 16px 18px 12px !important;
}

.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-home-tabs {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 46px !important;
  border-bottom: 0.5px solid var(--x-border-color) !important;
  background: #ffffff !important;
}

.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-home-scroll {
  padding-top: 46px !important;
}

.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-search-scroll,
.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-notifications-scroll,
.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-messages-scroll {
  padding-top: 0 !important;
}

/* 4. V2 模式下搜索页面去掉单独的头像与设置齿轮 */
.Fairy-twitter-page[data-theme="v2"] #xSearchAvatar,
.Fairy-twitter-page[data-theme="v2"] #xSearchSettings {
  display: none !important;
}

.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-search-top {
  display: block !important;
  padding: 12px 16px !important;
  height: auto !important;
  position: static !important;
}

.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-search-shell {
  width: 100% !important;
}

/* 5. V2 全局极简顶栏（下移避开状态栏） */
.Fairy-twitter-v2-topbar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: calc(88px + env(safe-area-inset-top, 0px)) !important;
  padding: calc(34px + env(safe-area-inset-top, 0px)) 16px 10px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border-bottom: 0.5px solid var(--x-border-color) !important;
  z-index: 30 !important;
  box-sizing: border-box !important;
}

.Fairy-twitter-v2-topbar-left {
  display: flex !important;
  align-items: center !important;
  cursor: pointer !important;
}

.Fairy-twitter-v2-topbar-title {
  font-size: 20px !important;
  font-weight: 900 !important;
  letter-spacing: -0.4px !important;
  color: var(--x-text-main) !important;
}

.Fairy-twitter-v2-back-icon {
  width: 24px !important;
  height: 24px !important;
  color: #536471 !important;
  stroke: #536471 !important;
  flex-shrink: 0 !important;
  display: none !important;
}

.Fairy-twitter-page[data-theme="v2"]:has(#xViewGrok.is-active) .Fairy-twitter-v2-back-icon {
  display: block !important;
}

.Fairy-twitter-page[data-theme="v2"]:has(#xViewGrok.is-active) .Fairy-twitter-v2-topbar-title {
  display: none !important;
}

.Fairy-twitter-v2-topbar-actions {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* 右上角按钮全部为灰色 */
.Fairy-twitter-v2-action-btn {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  display: grid !important;
  place-items: center !important;
  color: #536471 !important;
  padding: 0 !important;
}

.Fairy-twitter-v2-action-btn:active {
  background: #eff3f4 !important;
  transform: scale(0.92);
}

.Fairy-twitter-v2-action-btn svg {
  width: 22px !important;
  height: 22px !important;
  fill: currentColor !important;
  color: #536471 !important;
}

.Fairy-twitter-v2-avatar-btn {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  border-radius: 50% !important;
  background: #cfd3d7 !important;
  overflow: hidden !important;
  cursor: pointer !important;
  margin-left: 2px !important;
  position: relative !important;
}

.Fairy-twitter-v2-avatar-btn img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* 6. 社群/空间等子页面返回按钮与全屏样式 */
.Fairy-twitter-v2-page-back-btn {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  color: #536471 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
}

.Fairy-twitter-v2-page-back-btn svg {
  width: 22px !important;
  height: 22px !important;
  stroke: currentColor !important;
}

.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-drawer-page-layer.is-custom-view {
  inset: 0 !important;
  z-index: 100 !important;
}

/* 7. V2 模式下 Grok 助手全屏贴底（无底栏） */
.Fairy-twitter-page[data-theme="v2"] #xViewGrok {
  top: calc(88px + env(safe-area-inset-top, 0px)) !important;
  left: 0 !important;
  right: 0 !important;
  bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-grok-view {
  inset: 0 !important;
}

.Fairy-twitter-page[data-theme="v2"] #xViewGrok .Fairy-twitter-grok-body {
  inset: 0 0 94px !important;
}

.Fairy-twitter-page[data-theme="v2"] #xViewGrok .Fairy-twitter-grok-composer {
  bottom: 8px !important;
}

/* 8. V2 模式下右侧滑出侧边栏 */
.Fairy-twitter-drawer-layer.is-drawer-right.is-open {
  display: flex !important;
  justify-content: flex-end !important;
}

.Fairy-twitter-drawer-layer.is-drawer-right .Fairy-twitter-drawer {
  margin-left: auto !important;
  margin-right: 0 !important;
  box-shadow: -4px 0 24px rgba(0, 0, 0, 0.16) !important;
  animation: FairyTwitterDrawerSlideRight 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

@keyframes FairyTwitterDrawerSlideRight {
  from { transform: translateX(100%); }
  to { transform: translateX(0); }
}

/* 9. V2 底部悬浮胶囊 Dock 导航栏 */
.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-dock {
  position: absolute !important;
  left: 14px !important;
  right: 14px !important;
  bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
  height: 56px !important;
  border-radius: 9999px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  backdrop-filter: blur(28px) saturate(190%) !important;
  -webkit-backdrop-filter: blur(28px) saturate(190%) !important;
  border: 1px solid rgba(255, 255, 255, 0.85) !important;
  box-shadow: 0 14px 34px -4px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  padding: 0 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  z-index: 50 !important;
}

.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-dock-item {
  flex: 1 !important;
  height: 44px !important;
  border-radius: 9999px !important;
  padding: 2px 4px !important;
  transition: all 0.24s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  color: #536471 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-v2-dock-btn-box {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
}

.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-v2-dock-btn-box svg {
  width: 20px !important;
  height: 20px !important;
}

.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-dock-v2-label {
  display: block !important;
  font-size: 10px !important;
  font-weight: 750 !important;
  color: #536471 !important;
  line-height: 1 !important;
}

.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-dock-item.is-active {
  background: #0f1419 !important;
  color: #ffffff !important;
  flex: 1.25 !important;
  box-shadow: 0 3px 12px rgba(15, 20, 25, 0.22) !important;
}

.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-dock-item.is-active svg {
  color: #ffffff !important;
  transform: scale(1.05);
}

.Fairy-twitter-page[data-theme="v2"] .Fairy-twitter-dock-item.is-active .Fairy-twitter-dock-v2-label {
  color: #ffffff !important;
}

/* 居中突出的 + 号发帖按钮 (上凸 11px) */
.Fairy-twitter-dock-center-plus {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  background: var(--x-theme-blue) !important;
  color: #ffffff !important;
  border: none !important;
  cursor: pointer !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 4px !important;
  transform: translateY(-11px) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12), 0 0 0 3px #ffffff !important;
  flex-shrink: 0 !important;
  z-index: 55 !important;
  transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.Fairy-twitter-dock-center-plus:active {
  transform: translateY(-7px) scale(0.92) !important;
}

.Fairy-twitter-dock-center-plus svg {
  width: 23px !important;
  height: 23px !important;
  stroke: #ffffff !important;
}

/* ==========================================================================
   论坛美化选择页：手机壳拟真预览卡片样式
   ========================================================================== */
.Fairy-twitter-theme-page-wrap {
  padding: 16px 16px 40px;
}

.Fairy-twitter-theme-header-desc h3 {
  font-size: 20px !important;
  font-weight: 900 !important;
  color: #0f1419;
}

.Fairy-twitter-theme-header-desc p {
  font-size: 13.5px !important;
  color: #536471;
  margin-top: 4px;
  line-height: 19px;
}

.Fairy-twitter-theme-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px;
  margin-top: 18px;
}

.Fairy-twitter-theme-card {
  border: 2px solid #eff3f4;
  border-radius: 20px;
  padding: 14px;
  background: #ffffff;
  display: flex !important;
  gap: 16px;
  align-items: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.Fairy-twitter-theme-card.is-active {
  border-color: #1d9bf0;
  background: #f0f8ff;
}

/* 手机外壳拟真模型 */
.Fairy-twitter-mockup-phone {
  width: 96px;
  height: 156px;
  background: #1e2430;
  border-radius: 18px;
  padding: 4px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
  position: relative;
  flex-shrink: 0;
}

.Fairy-twitter-mockup-notch {
  width: 28px;
  height: 6px;
  background: #000;
  border-radius: 6px;
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
}

.Fairy-twitter-mockup-screen {
  width: 100%;
  height: 100%;
  background: #ffffff;
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 14px 6px 6px;
  box-sizing: border-box;
}

.mockup-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 12px;
}

.mockup-circle {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #cfd3d7;
}

.mockup-logo-text, .mockup-title-text {
  font-size: 8px;
  font-weight: 800;
  color: #0f1419;
}

.mockup-actions-row {
  display: flex;
  align-items: center;
  gap: 2px;
}

.mockup-mini-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #94a3b8;
}

.mockup-body-lines {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: auto 0;
}

.mockup-line {
  height: 4px;
  background: #eff3f4;
  border-radius: 2px;
}
.mockup-line.w-80 { width: 80%; }
.mockup-line.w-60 { width: 60%; }
.mockup-line.w-90 { width: 90%; }

.mockup-dock-v1 {
  height: 10px;
  border-top: 0.5px solid #eff3f4;
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.mockup-dock-v1 .mockup-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #94a3b8;
}

.mockup-dock-v2-capsule {
  height: 12px;
  background: #eff3f4;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 0 4px;
  position: relative;
}

.mockup-dock-v2-capsule .mockup-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #94a3b8;
}

.mockup-pill-active {
  width: 12px;
  height: 8px;
  background: #0f1419;
  border-radius: 999px;
}

.mockup-plus-float {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #1d9bf0;
  color: #fff;
  font-size: 8px;
  font-weight: 900;
  display: grid;
  place-items: center;
  margin-top: -6px;
}

.Fairy-twitter-theme-meta {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.Fairy-twitter-theme-name {
  font-size: 16px;
  font-weight: 850;
  color: #0f1419;
}

.Fairy-twitter-theme-sub {
  font-size: 12.5px;
  color: #536471;
  margin-top: 3px;
  line-height: 17px;
}

.Fairy-twitter-theme-check-btn {
  margin-top: 10px;
  height: 32px;
  padding: 0 16px;
  border-radius: 9999px;
  background: #0f1419;
  color: #ffffff;
  font-size: 13px;
  font-weight: 750;
  border: none;
  cursor: pointer;
}

.Fairy-twitter-theme-card.is-active .Fairy-twitter-theme-check-btn {
  background: #1d9bf0;
}
