--- START OF FILE forum_app.css ---

/* ==================== æ²‰æµ¸å¼å…¨å±ä¿®æ­£ (å¿…é¡»æ”¾åœ¨æœ€å‰é¢) ==================== */

/* 1. å¼ºåˆ¶è¦†ç›–é»˜è®¤é¡µé¢æ ·å¼ï¼ŒèƒŒæ™¯æ”¹ä¸ºçº¯ç™½ */
/* ä½¿ç”¨å¤šç§é€‰æ‹©å™¨ç»„åˆç¡®ä¿è¦†ç›– */
html body .page#forumPage,
body .page#forumPage,
.page#forumPage,
#forumPage.page,
div#forumPage,
#forumPage {
  background-color: #ffffff !important; /* çº¯ç™½èƒŒæ™¯ */
  padding: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
  left: 0 !important;
  right: 0 !important;
  box-sizing: border-box !important;
}

/* 2. éšè—ç³»ç»Ÿé»˜è®¤æ ‡é¢˜æ  */
#forumPage .page-header {
  display: none !important;
}

/* 3. è®©å†…å®¹åŒºåŸŸå¡«æ»¡é«˜åº¦å’Œå®½åº¦ */
#forumPage .page-content {
  height: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
}

/* ==================== ä»¿æŽ¨ç‰¹/å¾®åš (æ—¥é—´æ¨¡å¼ + é»‘è‰²ä¸»é¢˜) ==================== */

/* è®ºå›å®¹å™¨ */
.forum-container {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  background: #ffffff; /* ç™½åº• */
  color: #0f1419; /* æŽ¨ç‰¹é»‘å­— */
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica,
    Arial, sans-serif;
  overflow: hidden; /* é˜²æ­¢å­å…ƒç´ æº¢å‡º */
  padding-top: env(safe-area-inset-top, 0); /* safe areaæ”¾åœ¨containerä¸Š */
}

/* é¡¶éƒ¨å¯¼èˆªæ  (æ¯›çŽ»ç’ƒç™½åº•) */
.forum-tabs {
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.85); /* åŠé€æ˜Žç™½ */
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid #eff3f4; /* æžæµ…ç°åˆ†å‰²çº¿ */
  position: relative;
  z-index: 100;
  height: 53px;
  width: 100%;
  padding: 0 4px;
  flex-shrink: 0; /* é˜²æ­¢è¢«åŽ‹ç¼© */
  box-sizing: border-box;
}

/* è®©é¡¶æ èƒŒæ™¯å»¶ä¼¸åˆ°safe area */
.forum-tabs::before {
  content: '';
  position: absolute;
  top: calc(-1 * env(safe-area-inset-top, 0));
  left: 0;
  right: 0;
  height: env(safe-area-inset-top, 0);
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* åµŒå…¥å¼è¿”å›žæŒ‰é’® */
.forum-nav-back {
  width: 40px;
  height: 40px;
  background: transparent;
  border: none;
  color: #0f1419; /* æ·±è‰²å›¾æ ‡ */
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  margin-right: 4px;
  transition: background 0.2s;
  flex-shrink: 0; /* é˜²æ­¢è¢«åŽ‹ç¼© */
}

.forum-nav-back:active {
  background: rgba(0, 0, 0, 0.05); /* æµ…ç°æŒ‰åŽ‹æ€ */
}

/* æ ‡ç­¾é¡µ */
.forum-tab {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 53px; /* å›ºå®šé«˜åº¦ä¸Žé¡¶æ ä¸€è‡´ */
  font-size: 15px;
  font-weight: 700;
  color: #536471; /* æœªé€‰ä¸­ç°è‰² */
  cursor: pointer;
  position: relative;
  transition: color 0.2s;
}

.forum-tab.active {
  color: #0f1419; /* é€‰ä¸­æ·±é»‘ */
}

/* é€‰ä¸­æ—¶çš„ä¸‹åˆ’çº¿ (é»‘è‰²) */
.forum-tab.active::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 56px;
  height: 4px;
  background: #0f1419; /* æ·±é»‘ */
  border-radius: 2px;
}

/* ä¿¡æ¯æµåŒºåŸŸ */
.forum-feed {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding-bottom: calc(130px + env(safe-area-inset-bottom, 0)); /* ç•™å‡ºåº•éƒ¨å¯¼èˆªå’Œæ‚¬æµ®æŒ‰é’®çš„ç©ºé—´ */
}

/* ç©ºçŠ¶æ€ - å±…ä¸­æ˜¾ç¤º */
.forum-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 53px - env(safe-area-inset-top, 0) - 130px - env(safe-area-inset-bottom, 0));
  padding: 40px;
  text-align: center;
  color: #536471;
}

.forum-empty-icon {
  font-size: 48px;
  margin-bottom: 16px;
}

.forum-empty-text {
  font-size: 15px;
  line-height: 1.5;
  color: #536471;
}

.forum-empty-btn {
  background: #0f1419; /* é»‘åº• */
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 20px;
  margin-top: 16px;
  font-weight: 700;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); /* é»‘é˜´å½± */
  cursor: pointer;
}

.forum-empty-btn:active {
  background: #272c30;
  transform: scale(0.98);
}

/* å•ä¸ªå¸–å­å¡ç‰‡ */
.forum-post {
  display: flex;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid #eff3f4; /* æµ…ç°åˆ†å‰²çº¿ */
  cursor: pointer;
  transition: background 0.2s;
  background: #ffffff;
}

.forum-post:active {
  background: #f7f9f9; /* æžæµ…ç°æŒ‰åŽ‹æ€ */
}

/* å·¦ä¾§å¤´åƒåˆ— */
.forum-post-left {
  flex-shrink: 0;
}

.forum-post-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #f0f0f0;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); /* å¾®å¾®çš„é˜´å½±è®©å¤´åƒæ›´ç«‹ä½“ */
}

.forum-post-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* å³ä¾§å†…å®¹åˆ— */
.forum-post-right {
  flex: 1;
  min-width: 0;
}

/* å¸–å­å¤´éƒ¨ */
.forum-post-header {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 2px;
  overflow: hidden;
  flex-wrap: nowrap;
}

.forum-post-name {
  font-size: 15px;
  font-weight: 700;
  color: #0f1419; /* æ·±é»‘åå­— */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.forum-post-meta {
  font-size: 15px;
  color: #536471; /* ç°è‰² Handle å’Œæ—¶é—´ */
  white-space: nowrap;
  display: flex;
  gap: 4px;
}

/* æ ‡ç­¾æ ·å¼ (æ—¥é—´æ¨¡å¼é€‚é…) */
.forum-author-tag {
  font-size: 10px;
  padding: 1px 4px;
  border-radius: 3px;
  margin-left: 2px;
  vertical-align: middle;
  font-weight: 600;
}
.forum-author-tag.user {
  background: #e1f5fe;
  color: #0288d1;
} /* æµ…è“åº•æ·±è“å­— */
.forum-author-tag.ai {
  background: #fce4ec;
  color: #e91e63;
} /* æµ…ç²‰åº•æ·±ç²‰å­— */
.forum-author-tag.npc {
  background: #f0f2f5;
  color: #536471;
} /* æµ…ç°åº•ç°å­— */

/* å¸–å­æ­£æ–‡ */
.forum-post-content {
  font-size: 15px;
  line-height: 1.5;
  color: #0f1419; /* æ·±é»‘æ­£æ–‡ */
  margin-bottom: 12px;
  white-space: pre-wrap;
  word-break: break-word;
}

/* å¸–å­åº•éƒ¨æ“ä½œæ  */
.forum-post-actions {
  display: flex;
  justify-content: space-between;
  max-width: 80%;
  margin-top: 4px;
}

.forum-action {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #536471; /* ç°è‰²å›¾æ ‡ */
  font-size: 13px;
  transition: all 0.2s;
}

.forum-action svg {
  width: 18px;
  height: 18px;
  stroke-width: 1.5;
}

/* ç‚¹èµžæ¿€æ´»çŠ¶æ€ (ä¿æŒçº¢è‰²/ç²‰è‰²) */
.forum-action.liked {
  color: #f91880;
}
.forum-action.liked svg {
  fill: #f91880;
  stroke: #f91880;
}

/* æ‚¬æµ®å‘å¸–æŒ‰é’® (é»‘è‰²) */
.forum-fab {
  position: fixed;
  bottom: calc(70px + env(safe-area-inset-bottom, 0));
  right: 20px;
  width: 56px;
  height: 56px;
  background: #0f1419; /* æ·±é»‘ */
  border-radius: 50%;
  color: white;
  border: none;
  font-size: 24px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); /* é»‘è‰²é˜´å½± */
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 99;
  transition: transform 0.1s;
}

.forum-fab:active {
  transform: scale(0.95);
  background: #272c30; /* æŒ‰ä¸‹å˜ä¸ºæ·±ç° */
}

/* ==================== åˆ·æ–°æŒ‰é’®æ—‹è½¬åŠ¨ç”» ==================== */

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.forum-refresh-btn.spinning svg,
.forum-search-refresh.spinning svg {
  animation: spin 1s linear infinite;
}

/* â˜…â˜…â˜… åœ¨ä¸‹é¢åŠ ä¸Šè¿™ä¸€å¥ â˜…â˜…â˜… */
.forum-dm-generate.spinning svg {
  animation: spin 1s linear infinite;
}

/* ==================== åº•éƒ¨å¯¼èˆªæ  ==================== */

.forum-bottom-nav {
  display: flex;
  align-items: center;
  justify-content: space-around;
  height: 50px;
  padding-bottom: env(safe-area-inset-bottom, 0);
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid #eff3f4;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  box-sizing: content-box; /* ç¡®ä¿heightä¸åŒ…å«padding */
}

.forum-nav-item {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px; /* å›ºå®šé«˜åº¦ç¡®ä¿å›¾æ ‡å±…ä¸­ */
  background: transparent;
  border: none;
  color: #536471;
  cursor: pointer;
  transition: color 0.2s;
}

.forum-nav-item svg {
  width: 24px;
  height: 24px;
}

.forum-nav-item:active {
  background: rgba(0, 0, 0, 0.03);
}

.forum-nav-item.active {
  color: #0f1419; /* é€‰ä¸­å˜ä¸ºæ·±é»‘ */
}

.forum-nav-item.active svg {
  fill: #0f1419; /* å›¾æ ‡å¡«å……é»‘ */
  stroke: #0f1419;
}

/* ==================== å›¾ç‰‡å ä½ç¬¦ ==================== */

.forum-image-placeholder {
  width: 100%;
  max-width: 280px;
  height: 160px;
  background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 8px 0;
  color: #bbb;
}

/* ==================== å¼¹çª—/è¦†ç›–å±‚ ==================== */

.forum-detail-overlay,
.forum-settings-overlay,
.forum-compose-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #ffffff;
  z-index: 200;
  flex-direction: column;
}

.forum-detail-overlay.active,
.forum-settings-overlay.active,
.forum-compose-overlay.active {
  display: flex;
}

/* å¼¹çª—å¤´éƒ¨ */
.forum-detail-header,
.forum-settings-header,
.forum-compose-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  padding-top: calc(12px + env(safe-area-inset-top, 0));
  border-bottom: 1px solid #eff3f4;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  min-height: 50px;
}

.forum-detail-back,
.forum-settings-back {
  background: none;
  border: none;
  font-size: 20px;
  color: #0f1419;
  cursor: pointer;
  padding: 8px;
  width: 36px;
}

.forum-compose-cancel {
  background: none;
  border: none;
  font-size: 15px;
  font-weight: 500;
  color: #0f1419;
  cursor: pointer;
  padding: 8px 12px;
  border-radius: 20px;
  transition: background 0.2s;
}

.forum-compose-cancel:active {
  background: rgba(0, 0, 0, 0.05);
}

.forum-detail-title,
.forum-settings-title,
.forum-compose-title {
  font-weight: 700;
  font-size: 17px;
  color: #0f1419;
}

.forum-compose-submit {
  background: #0f1419; /* æ”¹ä¸ºæ·±é»‘ */
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 20px;
  font-weight: 700;
  font-size: 14px;
}

/* å¸–å­è¯¦æƒ…å†…å®¹åŒºå®¹å™¨ */
#forumDetailContent {
  flex: 1;
  overflow-y: auto;
  padding: 0;
  padding-bottom: 80px;
}

/* è¯„è®ºè¾“å…¥æ  */
.forum-comment-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-top: 1px solid #eff3f4;
  background: #fff;
}

.forum-comment-input {
  flex: 1;
  border: 1px solid #eff3f4;
  border-radius: 20px;
  padding: 8px 16px;
  font-size: 14px;
  outline: none;
}

.forum-comment-input:focus {
  border-color: #0f1419; 
}

.forum-comment-send,
.forum-comment-refresh {
  background: #0f1419;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 20px;
  font-weight: 600;
  font-size: 14px;
}

.forum-comment-refresh {
  background: transparent;
  color: #536471;
  padding: 8px;
}

/* è¯„è®ºæ ·å¼ */
.forum-comment {
  display: flex;
  gap: 10px;
  padding: 12px 0;
  border-bottom: 1px solid #eff3f4;
}

.forum-comment-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  overflow: hidden;
}

.forum-comment-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.forum-comment-body {
  flex: 1;
  min-width: 0;
}

.forum-comment-author {
  font-size: 14px;
  font-weight: 600;
  color: #0f1419;
  margin-bottom: 2px;
}

.forum-comment-text {
  font-size: 14px;
  color: #0f1419;
  line-height: 1.4;
}

.forum-comment-actions {
  display: flex;
  gap: 16px;
  margin-top: 6px;
  font-size: 12px;
  color: #536471;
}

/* è®¾ç½®é¡µå†…å®¹ */
.forum-settings-content {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
  padding-bottom: calc(16px + env(safe-area-inset-bottom, 0));
  background: #f7f9f9;
}

/* è®¾ç½®åŒºå— */
.forum-section {
  margin-bottom: 24px;
}

.forum-section-title {
  font-size: 13px;
  font-weight: 600;
  color: #536471;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
  padding-left: 4px;
}

/* è®¾ç½®å¡ç‰‡ */
.forum-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #eff3f4;
}

.forum-item {
  padding: 16px;
  border-bottom: 1px solid #eff3f4;
}

.forum-item:last-child {
  border-bottom: none;
}

.forum-label {
  font-size: 14px;
  font-weight: 600;
  color: #0f1419;
  margin-bottom: 8px;
}

.forum-input {
  width: 100%;
  padding: 12px;
  border: 1px solid #eff3f4;
  border-radius: 12px;
  font-size: 15px;
  color: #0f1419;
  background: #f7f9f9;
  outline: none;
  transition: border-color 0.2s, background 0.2s;
  box-sizing: border-box;
}

.forum-input:focus {
  border-color: #0f1419;
  background: #fff;
}

.forum-input::placeholder {
  color: #9ca3af;
}

textarea.forum-input {
  resize: none;
  line-height: 1.5;
  min-height: 80px;
}

/* AIå‚ä¸Žè€…å¡ç‰‡ */
.forum-participant {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #fff;
  border: 1px solid #eff3f4;
  border-radius: 16px;
  margin-bottom: 8px;
}

.forum-participant-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: white;
  overflow: hidden;
  flex-shrink: 0;
}

.forum-participant-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.forum-participant-info {
  flex: 1;
  min-width: 0;
}

.forum-participant-name {
  font-size: 15px;
  font-weight: 600;
  color: #0f1419;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.forum-participant-identity {
  font-size: 13px;
  color: #536471;
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.forum-participant-remove {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: none;
  background: #fee2e2;
  color: #ef4444;
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  flex-shrink: 0;
}

.forum-participant-remove:active {
  background: #fecaca;
  transform: scale(0.95);
}

/* æ·»åŠ æŒ‰é’® */
.forum-add-btn {
  width: 100%;
  padding: 14px;
  background: #fff;
  border: 2px dashed #e5e7eb;
  border-radius: 16px;
  font-size: 15px;
  font-weight: 600;
  color: #0f1419;
  cursor: pointer;
  transition: all 0.2s;
}

.forum-add-btn:active {
  background: #f7f9f9;
  border-color: #0f1419; /* æŒ‰ä¸‹è¾¹æ¡†å˜é»‘ */
}
/* ==================== é€šç”¨å¼¹çª—æ ·å¼ ==================== */

.forum-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.forum-modal-content {
  background: #fff;
  border-radius: 20px;
  width: 100%;
  max-width: 360px;
  max-height: 80vh;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.forum-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #eff3f4;
}

.forum-modal-title {
  font-size: 17px;
  font-weight: 700;
  color: #0f1419;
}

.forum-modal-close {
  background: none;
  border: none;
  color: #536471;
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.forum-modal-body {
  max-height: 60vh;
  overflow-y: auto;
}

/* è§’è‰²é€‰æ‹©åˆ—è¡¨é¡¹ */
.forum-char-select-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  cursor: pointer;
  transition: background 0.2s;
  border-bottom: 1px solid #eff3f4;
}

.forum-char-select-item:last-child {
  border-bottom: none;
}

.forum-char-select-item:active {
  background: #f7f9f9;
}

.forum-char-select-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: white;
  overflow: hidden;
  flex-shrink: 0;
}

.forum-char-select-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.forum-char-select-name {
  flex: 1;
  font-size: 16px;
  font-weight: 500;
  color: #0f1419;
}

.forum-char-select-arrow {
  color: #ccd6dd;
  flex-shrink: 0;
}

/* è®¾ç½®èº«ä»½å¼¹çª— */
.forum-identity-char {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px 0;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #f7f9f9 0%, #eff3f4 100%); /* æ”¹ä¸ºæµ…ç°æ¸å˜ */
  border-radius: 16px;
}

.forum-identity-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  color: white;
  overflow: hidden;
  margin-bottom: 12px;
  border: 3px solid #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.forum-identity-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.forum-identity-name {
  font-size: 18px;
  font-weight: 700;
  color: #0f1419;
}

.forum-identity-submit {
  width: 100%;
  padding: 14px;
  background: linear-gradient(135deg, #0f1419 0%, #2f3336 100%); /* æ”¹ä¸ºé»‘è‰²æ¸å˜ */
  border: none;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 700;
  color: white;
  cursor: pointer;
  transition: all 0.2s;
}

.forum-identity-submit:active {
  transform: scale(0.98);
  opacity: 0.9;
}

/* å‘å¸–é¡µ - æŽ¨ç‰¹é£Žæ ¼ */
.forum-compose-body {
  flex: 1;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow-y: auto;
}

.forum-compose-author {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  background: #f7f9f9;
  border-radius: 30px;
  font-size: 14px;
  color: #0f1419;
  cursor: pointer;
  width: fit-content;
}

.forum-compose-author:active {
  background: #e8e8e8;
}

.forum-compose-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  overflow: hidden;
}

.forum-compose-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.forum-compose-name {
  font-weight: 600;
}

.forum-compose-textarea {
  flex: 1;
  border: none;
  resize: none;
  font-size: 18px;
  line-height: 1.5;
  outline: none;
  color: #0f1419;
  min-height: 120px;
}

.forum-compose-textarea::placeholder {
  color: #536471;
}

/* ==================== å¸–å­è¯¦æƒ…é¡µ - æŽ¨ç‰¹é£Žæ ¼ ==================== */

.forum-detail-post {
  padding: 16px;
  border-bottom: 1px solid #eff3f4;
}

.forum-detail-author {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.forum-detail-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  overflow: hidden;
}

.forum-detail-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.forum-detail-author-info {
  flex: 1;
}

.forum-detail-name {
  font-size: 15px;
  font-weight: 700;
  color: #0f1419;
}

.forum-detail-handle {
  font-size: 14px;
  color: #536471;
}

.forum-detail-text {
  font-size: 17px;
  line-height: 1.5;
  color: #0f1419;
  margin-bottom: 12px;
  white-space: pre-wrap;
  word-break: break-word;
}

.forum-detail-time {
  font-size: 14px;
  color: #536471;
  padding-bottom: 12px;
  border-bottom: 1px solid #eff3f4;
}

.forum-detail-stats {
  display: flex;
  gap: 20px;
  padding: 12px 0;
  border-bottom: 1px solid #eff3f4;
}

.forum-detail-stat {
  font-size: 14px;
  color: #536471;
}

.forum-detail-stat strong {
  color: #0f1419;
  font-weight: 700;
}

.forum-detail-actions {
  display: flex;
  justify-content: space-around;
  padding: 12px 0;
  border-bottom: 1px solid #eff3f4;
}

.forum-detail-action {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: #536471;
  cursor: pointer;
  transition: all 0.2s;
}

.forum-detail-action:active {
  background: rgba(0, 0, 0, 0.05);
}

.forum-detail-action.liked {
  color: #f91880; /* çˆ±å¿ƒä¿æŒçº¢è‰²/ç²‰è‰² */
}

.forum-detail-action.pinned {
  color: #1d9bf0;
}

/* è¯„è®ºåŒºæŽ¨ç‰¹é£Žæ ¼ */
.forum-comments-section {
  padding: 0 16px;
}

/* è¯„è®ºåŒºçš„ç¬¬ä¸€æ¡è¯„è®ºä¸éœ€è¦é¡¶éƒ¨åˆ†å‰²çº¿ */
.forum-comments-section > .forum-comment:first-child {
  border-top: none;
  padding-top: 12px;
}

.forum-comment {
  display: flex;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid #eff3f4;
}

.forum-comment-header {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 2px;
}

.forum-comment-name {
  font-size: 14px;
  font-weight: 700;
  color: #0f1419;
}

.forum-comment-time {
  font-size: 14px;
  color: #536471;
}

.forum-comment-text {
  font-size: 14px;
  color: #0f1419;
  line-height: 1.4;
}

/* æ–°å¢žï¼šâ€œå›žå¤â€ä¸¤ä¸ªå­—å˜æˆç°è‰² */
.forum-reply-label {
  color: #536471;
  font-size: 14px;
}

/* ä¿®æ”¹ï¼šåå­—éƒ¨åˆ†åŠ ç²—ï¼Œä¿ç•™è“è‰²é“¾æŽ¥æ„Ÿ */
.forum-reply-to {
  color: #1d9bf0;  /* å¦‚æžœæƒ³è¦é»‘è‰²åå­—ï¼Œå°±æŠŠè¿™é‡Œæ”¹æˆ #0f1419 */
  font-weight: 600; /* åŠ ç²— */
  margin-right: 4px;
  cursor: pointer;
}

.forum-comment-actions {
  display: flex;
  gap: 24px;
  margin-top: 8px;
}

.forum-comment-action {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #536471;
  font-size: 13px;
  cursor: pointer;
}

.forum-comment-action.liked {
  color: #f91880;
}

.forum-no-comments {
  text-align: center;
  padding: 40px 20px;
  color: #536471;
}

/* ==================== è½¬å‘èœå• ==================== */

.forum-retweet-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  z-index: 1000;
}

.forum-retweet-menu {
  background: white;
  border-radius: 16px 16px 0 0;
  width: 100%;
  max-width: 500px;
  padding: 8px 0;
  padding-bottom: env(safe-area-inset-bottom, 20px);
}

.forum-retweet-option {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  cursor: pointer;
  transition: background 0.2s;
}

.forum-retweet-option:active {
  background: #f7f9f9;
}

.forum-retweet-option span {
  font-size: 16px;
  color: #0f1419;
}

.forum-retweet-cancel {
  text-align: center;
  padding: 16px;
  font-size: 16px;
  color: #536471;
  border-top: 1px solid #eff3f4;
  cursor: pointer;
}

/* ==================== å›¾ç‰‡æè¿°å¼¹çª— ==================== */

.forum-image-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 20px;
}

.forum-image-modal-content {
  background: white;
  border-radius: 16px;
  width: 100%;
  max-width: 400px;
  overflow: hidden;
}

.forum-image-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #eff3f4;
}

.forum-image-modal-header span {
  font-weight: 600;
  color: #0f1419;
}

.forum-image-modal-header button {
  background: none;
  border: none;
  color: #536471;
  cursor: pointer;
  padding: 4px;
}

.forum-image-modal-body {
  padding: 20px;
}

.forum-image-preview {
  width: 100%;
  height: 200px;
  background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #bbb;
  margin-bottom: 16px;
}

.forum-image-desc-text {
  font-size: 15px;
  color: #0f1419;
  line-height: 1.5;
  text-align: center;
}

/* å›¾ç‰‡å ä½ç¬¦å¯ç‚¹å‡» */
.forum-image-placeholder {
  cursor: pointer;
  transition: opacity 0.2s;
}

.forum-image-placeholder:active {
  opacity: 0.7;
}

/* ==================== èº«ä»½é€‰æ‹©å™¨ ==================== */

.forum-author-picker-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.forum-author-picker {
  background: white;
  border-radius: 16px;
  width: 100%;
  max-width: 320px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.forum-author-picker-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  border-bottom: 1px solid #eff3f4;
}

.forum-author-picker-header span {
  font-weight: 700;
  font-size: 17px;
  color: #0f1419;
}

.forum-author-picker-header button {
  background: none;
  border: none;
  color: #536471;
  cursor: pointer;
  padding: 4px;
}

.forum-author-picker-list {
  max-height: 300px;
  overflow-y: auto;
}

.forum-author-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  cursor: pointer;
  transition: background 0.2s;
}

.forum-author-option:active {
  background: #f7f9f9;
}

.forum-author-option span {
  font-size: 16px;
  color: #0f1419;
}

/* ==================== è§’è‰²é€‰æ‹©å™¨ï¼ˆè½¬å‘åˆ°èŠå¤©ï¼‰==================== */

.forum-char-picker-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.forum-char-picker {
  background: white;
  border-radius: 16px;
  width: 100%;
  max-width: 320px;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.forum-char-picker-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  border-bottom: 1px solid #eff3f4;
}

.forum-char-picker-header span {
  font-weight: 700;
  font-size: 17px;
  color: #0f1419;
}

.forum-char-picker-header button {
  background: none;
  border: none;
  color: #536471;
  cursor: pointer;
  padding: 4px;
}

.forum-char-picker-list {
  max-height: 400px;
  overflow-y: auto;
  padding: 8px 0;
}

.forum-char-option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  cursor: pointer;
  transition: background 0.2s;
}

.forum-char-option:active {
  background: #f7f9f9;
}

.forum-char-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  overflow: hidden;
}

.forum-char-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.forum-char-name {
  font-size: 16px;
  font-weight: 500;
  color: #0f1419;
}

.forum-char-section-title {
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  color: #536471;
  background: #f7f9f9;
}

/* ==================== è½¬å‘å¡ç‰‡ ==================== */

.retweet-card {
  background: #fff;
  border: 1px solid #e1e8ed;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.2s;
  max-width: 280px;
}

/* å½“å¡ç‰‡æ˜¯å”¯ä¸€å†…å®¹æ—¶ï¼ŒåŽ»æŽ‰é¡¶éƒ¨é—´è· */
.msg-bubble .retweet-card:first-child {
  margin-top: 0;
}

.retweet-card:active {
  background: #f5f8fa;
  transform: scale(0.98);
}

.retweet-card-label {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-bottom: 1px solid #e1e8ed;
  font-size: 12px;
  color: #657786;
  font-weight: 500;
}

.retweet-card-label svg {
  color: #1da1f2;
}

.retweet-card-body {
  padding: 12px;
}

.retweet-card-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

.retweet-card-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: white;
  overflow: hidden;
  flex-shrink: 0;
}

.retweet-card-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.retweet-card-author-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  overflow: hidden;
}

.retweet-card-author {
  font-size: 14px;
  font-weight: 700;
  color: #14171a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.retweet-card-handle {
  font-size: 13px;
  color: #657786;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.retweet-card-content {
  font-size: 14px;
  color: #14171a;
  line-height: 1.4;
  margin-bottom: 10px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
}

.retweet-card-stats {
  display: flex;
  gap: 16px;
  padding-top: 8px;
  border-top: 1px solid #e1e8ed;
}

.retweet-stat {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: #657786;
}

.retweet-stat svg {
  color: #657786;
}

/* èŠå¤©æ°”æ³¡ä¸­çš„è½¬å‘å¡ç‰‡æ ·å¼ */
.msg-bubble .retweet-card {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* ç”¨æˆ·æ¶ˆæ¯ï¼ˆç²‰è‰²æ°”æ³¡ï¼‰ä¸­çš„è½¬å‘å¡ç‰‡ */
.msg-row.user .retweet-card {
  background: #fff;
}

.msg-row.user .retweet-card-label {
  background: linear-gradient(135deg, #f7f9f9 0%, #eff3f4 100%); /* æ”¹ä¸ºæµ…ç°æ¸å˜ */
}

/* AIæ¶ˆæ¯ï¼ˆç™½è‰²æ°”æ³¡ï¼‰ä¸­çš„è½¬å‘å¡ç‰‡ */
.msg-row.ai .retweet-card {
  background: #fafafa;
  border-color: #e0e0e0;
}

.msg-row.ai .retweet-card-label {
  background: linear-gradient(135deg, #f5f5f5 0%, #eeeeee 100%);
}

/* ç¾¤èŠå¤´åƒæ ·å¼ */
.forum-char-avatar.group-avatar {
  background: linear-gradient(135deg, #0f1419 0%, #536471 100%); /* æ”¹ä¸ºé»‘è‰²æ¸å˜ */
  color: white;
}

.forum-char-section-title {
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  color: #536471;
  background: #f7f9f9;
}

/* ==================== è®¾ç½®é¡µå¢žå¼ºæ ·å¼ ==================== */

.forum-section-hint {
  font-size: 12px;
  font-weight: 400;
  color: #9ca3af;
  margin-left: 8px;
}

.forum-empty-hint {
  padding: 20px;
  text-align: center;
  color: #9ca3af;
  font-size: 14px;
  background: #fff;
  border: 1px solid #eff3f4;
  border-radius: 16px;
  margin-bottom: 8px;
}

.forum-participant-handle {
  font-size: 12px;
  color: #1da1f2;
}

/* NPCå¤´åƒæ ·å¼ */
.forum-npc-avatar {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
}

/* å¤´åƒç¼–è¾‘æç¤º */
.forum-avatar-edit-hint {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0,0,0,0.6);
  color: white;
  font-size: 10px;
  padding: 2px 0;
  text-align: center;
  opacity: 0;
  transition: opacity 0.2s;
}

.forum-identity-avatar {
  position: relative;
  cursor: pointer;
  overflow: hidden;
}

.forum-identity-avatar:hover .forum-avatar-edit-hint,
.forum-identity-avatar:active .forum-avatar-edit-hint {
  opacity: 1;
}

.forum-identity-hint {
  font-size: 12px;
  color: #9ca3af;
  margin-top: 4px;
}

/* å‚ä¸Žè€…/NPCèƒŒæ™¯å›¾ç¼–è¾‘ */
.forum-participant-banner-edit {
  height: 100px;
  background: linear-gradient(135deg, #cfd9de 0%, #adb5bd 100%);
  border-radius: 12px;
  margin-bottom: -30px;
  position: relative;
  cursor: pointer;
  overflow: hidden;
}

.forum-participant-banner-edit img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.forum-participant-banner-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.4);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  opacity: 0;
  transition: opacity 0.2s;
  color: white;
  font-size: 12px;
}

.forum-participant-banner-edit:hover .forum-participant-banner-overlay,
.forum-participant-banner-edit:active .forum-participant-banner-overlay {
  opacity: 1;
}

/* Handleè¾“å…¥æ¡†å¸¦å‰ç¼€ */
.forum-input-with-prefix {
  display: flex;
  align-items: center;
  background: #f7f9f9;
  border: 1px solid #eff3f4;
  border-radius: 12px;
  overflow: hidden;
}

.forum-input-prefix {
  padding: 12px;
  padding-right: 0;
  color: #536471;
  font-size: 15px;
}

.forum-input-handle {
  border: none !important;
  background: transparent !important;
  padding-left: 4px !important;
}

.forum-input-with-prefix:focus-within {
  border-color: #0f1419;
  background: #fff;
}

/* å¿…å¡«æ ‡è®° */
.forum-required {
  color: #ef4444;
}

/* ä¸‹æ‹‰é€‰æ‹©æ¡† */
.forum-select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23536471' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 36px;
}

/* å…³ç³»åˆ—è¡¨é¡¹ */
.forum-relationship-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #fff;
  border: 1px solid #eff3f4;
  border-radius: 16px;
  margin-bottom: 8px;
  cursor: pointer;
}

.forum-relationship-item:active {
  background: #f7f9f9;
}

.forum-relationship-people {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
}

.forum-relationship-person {
  font-size: 14px;
  font-weight: 500;
  color: #0f1419;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 80px;
}

.forum-relationship-arrow {
  color: #0f1419; /* æ”¹ä¸ºé»‘è‰² */
  font-size: 16px;
  flex-shrink: 0;
}

.forum-relationship-type {
  font-size: 13px;
  color: #536471;
  padding: 4px 10px;
  background: #eff3f4; /* æ”¹ä¸ºæµ…ç° */
  border-radius: 12px;
  white-space: nowrap;
}

/* å…³ç³»è¡¨å•è¿žæŽ¥å™¨ */
.forum-relationship-connector {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 0;
}

.forum-relationship-line {
  flex: 1;
  height: 1px;
  background: #eff3f4;
}

.forum-relationship-icon {
  padding: 0 12px;
  color: #0f1419; /* æ”¹ä¸ºé»‘è‰² */
  font-size: 20px;
}

/* æ›´å¤§çš„å¼¹çª— */
.forum-modal-large {
  max-width: 400px;
}

/* ==================== ä¸ªäººä¸»é¡µæ ·å¼ ==================== */

.forum-profile {
  min-height: 100%;
  background: #fff;
}

/* ä¸ªäººä¸»é¡µé¡¶æ  */
.forum-profile-header {
  display: flex;
  align-items: center;
  padding: 8px 16px;
  padding-top: calc(8px + env(safe-area-inset-top, 0));
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  position: sticky;
  top: 0;
  z-index: 100;
}

.forum-profile-back {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: none;
  background: rgba(15, 20, 25, 0.75);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  margin-right: 20px;
}

.forum-profile-header-info {
  flex: 1;
}

.forum-profile-header-name {
  font-size: 17px;
  font-weight: 700;
  color: #0f1419;
}

.forum-profile-header-posts {
  font-size: 13px;
  color: #536471;
}

.forum-profile-header-actions {
  display: flex;
  gap: 8px;
}

.forum-profile-action-btn {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: none;
  background: rgba(15, 20, 25, 0.75);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

/* èƒŒæ™¯å›¾ */
.forum-profile-banner {
  height: 150px;
  background: linear-gradient(135deg, #cfd9de 0%, #adb5bd 100%);
  position: relative;
  cursor: pointer;
  overflow: hidden;
}

.forum-profile-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.forum-profile-banner-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #e8e8e8 0%, #d0d0d0 100%);
}

.forum-profile-banner-hint {
  position: absolute;
  bottom: 8px;
  right: 8px;
  background: rgba(0,0,0,0.5);
  color: white;
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 4px;
  opacity: 0;
  transition: opacity 0.2s;
}

.forum-profile-banner:hover .forum-profile-banner-hint,
.forum-profile-banner:active .forum-profile-banner-hint {
  opacity: 1;
}

/* å¤´åƒè¡Œ */
.forum-profile-avatar-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0 16px;
  margin-top: -42px;
}

.forum-profile-avatar {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  border: 4px solid white;
  background: #cfd9de;
  overflow: hidden;
  position: relative;
  cursor: pointer;
}

.forum-profile-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.forum-profile-avatar-hint {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0,0,0,0.6);
  color: white;
  font-size: 10px;
  padding: 4px 0;
  text-align: center;
  opacity: 0;
  transition: opacity 0.2s;
}

.forum-profile-avatar:hover .forum-profile-avatar-hint,
.forum-profile-avatar:active .forum-profile-avatar-hint {
  opacity: 1;
}

.forum-profile-edit-btn {
  padding: 8px 16px;
  border: 1px solid #cfd9de;
  border-radius: 20px;
  background: white;
  font-size: 14px;
  font-weight: 700;
  color: #0f1419;
  cursor: pointer;
}

.forum-profile-edit-btn:active {
  background: #f7f9f9;
}

/* ç”¨æˆ·ä¿¡æ¯ */
.forum-profile-info {
  padding: 8px 16px 12px; /* ä¸Šè¾¹è·å‡å° */
}

.forum-profile-name {
  font-size: 20px;
  font-weight: 800;
  color: #0f1419;
}

.forum-profile-handle {
  font-size: 15px;
  color: #536471;
  margin-top: 2px;
}

.forum-profile-bio {
  font-size: 15px;
  color: #0f1419;
  margin-top: 12px;
  line-height: 1.4;
}

.forum-profile-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 12px;
  color: #536471;
  font-size: 14px;
}

.forum-profile-join {
  display: flex;
  align-items: center;
  gap: 4px;
}

.forum-profile-stats {
  display: flex;
  gap: 20px;
  margin-top: 12px;
}

.forum-profile-stat {
  font-size: 14px;
  color: #536471;
}

.forum-profile-stat strong {
  color: #0f1419;
  font-weight: 700;
}

/* æ ‡ç­¾é¡µ */
.forum-profile-tabs {
  display: flex;
  border-bottom: 1px solid #eff3f4;
  margin-top: 8px;
}

.forum-profile-tab {
  flex: 1;
  padding: 16px;
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  color: #536471;
  cursor: pointer;
  position: relative;
}

.forum-profile-tab.active {
  font-weight: 700;
  color: #0f1419;
}

.forum-profile-tab.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 56px;
  height: 4px;
  background: #0f1419; /* æ”¹ä¸ºé»‘è‰² */
  border-radius: 2px;
}

/* å¸–å­åˆ—è¡¨ */
.forum-profile-posts {
  padding-bottom: calc(80px + env(safe-area-inset-bottom, 0));
}

.forum-profile-no-posts {
  padding: 40px;
  text-align: center;
  color: #536471;
  font-size: 15px;
}

/* ç¼–è¾‘ä¸ªäººèµ„æ–™å¼¹çª— */
.forum-profile-editor {
  background: white;
  width: 100%;
  height: 100%;
  max-width: 600px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}

.forum-profile-editor-header {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  padding-top: calc(12px + env(safe-area-inset-top, 0));
  border-bottom: 1px solid #eff3f4;
}

.forum-profile-editor-close {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: #0f1419;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.forum-profile-editor-close:active {
  background: #e7e7e7;
}

.forum-profile-editor-title {
  flex: 1;
  font-size: 17px;
  font-weight: 700;
  color: #0f1419;
  margin-left: 24px;
}

.forum-profile-editor-save {
  padding: 8px 16px;
  border: none;
  border-radius: 20px;
  background: #0f1419;
  color: white;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

.forum-profile-editor-save:active {
  background: #272c30;
}

.forum-profile-editor-content {
  flex: 1;
  overflow-y: auto;
}

.forum-profile-editor-banner {
  height: 150px;
  background: linear-gradient(135deg, #cfd9de 0%, #adb5bd 100%);
  position: relative;
  cursor: pointer;
  overflow: hidden;
}

.forum-profile-editor-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.forum-profile-editor-banner-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.2s;
}

.forum-profile-editor-banner:hover .forum-profile-editor-banner-overlay,
.forum-profile-editor-banner:active .forum-profile-editor-banner-overlay {
  opacity: 1;
}

.forum-profile-editor-avatar {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  border: 4px solid white;
  background: #cfd9de;
  overflow: hidden;
  position: relative;
  cursor: pointer;
  margin: -42px 0 0 16px;
}

.forum-profile-editor-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.forum-profile-editor-avatar-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.forum-profile-editor-form {
  padding: 16px;
  padding-top: 24px;
}

.forum-profile-editor-field {
  margin-bottom: 24px;
}

.forum-profile-editor-field label {
  display: block;
  font-size: 13px;
  color: #536471;
  margin-bottom: 8px;
}

.forum-profile-editor-field input,
.forum-profile-editor-field textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #cfd9de;
  border-radius: 4px;
  font-size: 15px;
  color: #0f1419;
  box-sizing: border-box;
  resize: none;
}

.forum-profile-editor-field input:focus,
.forum-profile-editor-field textarea:focus {
  outline: none;
  border-color: #1d9bf0;
}

/* é»˜è®¤å¤´åƒæ ·å¼ */
.default-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #cfd9de;
}

/* ==================== å‘å¸–é¡µé¢æ–°æ ·å¼ ==================== */

.forum-compose-user-info {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 4px 0;
}

.forum-compose-user-text {
  display: flex;
  flex-direction: column;
}

.forum-compose-handle {
  font-size: 13px;
  color: #536471;
}

.forum-compose-images {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.forum-compose-image-item {
  position: relative;
  width: 80px;
  height: 80px;
  border-radius: 12px;
  overflow: hidden;
}

.forum-compose-image-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.forum-compose-image-remove {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: none;
  background: rgba(0,0,0,0.7);
  color: white;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.forum-compose-toolbar {
  display: flex;
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid #eff3f4;
  margin-top: auto;
}

.forum-compose-tool-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: #0f1419; /* æ”¹ä¸ºé»‘è‰² */
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}

.forum-compose-tool-btn:active {
  background: rgba(15, 20, 25, 0.1); /* æ”¹ä¸ºæµ…ç° */
}

/* ==================== å¸–å­å›¾ç‰‡ç½‘æ ¼ ==================== */

.forum-post-images {
  display: grid;
  gap: 4px;
  margin-top: 12px;
  border-radius: 16px;
  overflow: hidden;
}

.forum-post-images.single {
  grid-template-columns: 1fr;
}

.forum-post-images.double {
  grid-template-columns: 1fr 1fr;
}

.forum-post-images.triple {
  grid-template-columns: 1fr 1fr;
}

.forum-post-images.quad {
  grid-template-columns: 1fr 1fr;
}

.forum-post-image-item {
  aspect-ratio: 1;
  overflow: hidden;
  cursor: pointer;
}

.forum-post-images.single .forum-post-image-item {
  aspect-ratio: 16/9;
  max-height: 280px;
}

.forum-post-images.triple .forum-post-image-item:first-child {
  grid-row: span 2;
}

.forum-post-image-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s;
}

.forum-post-image-item:active img {
  transform: scale(1.02);
}

/* ==================== å…¨å±å›¾ç‰‡æŸ¥çœ‹ ==================== */

.forum-fullimage-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.95);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.forum-fullimage-content {
  max-width: 100%;
  max-height: 100%;
}

.forum-fullimage-content img {
  max-width: 100%;
  max-height: 90vh;
  object-fit: contain;
  border-radius: 8px;
}

.forum-fullimage-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,0.2);
  color: white;
  font-size: 24px;
  cursor: pointer;
}

/* ==================== å¼•ç”¨è½¬å‘ç•Œé¢ ==================== */

.forum-quote-body {
  display: flex;
  flex-direction: column;
}

.forum-quote-textarea {
  min-height: 80px !important;
  flex: 0 0 auto !important;
}

.forum-quote-preview {
  border: 1px solid #cfd9de;
  border-radius: 16px;
  padding: 12px;
  margin-top: 12px;
}

.forum-quote-preview-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}

.forum-quote-preview-avatar {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  object-fit: cover;
}

.forum-quote-preview-name {
  font-size: 14px;
  font-weight: 700;
  color: #0f1419;
}

.forum-quote-preview-handle {
  font-size: 14px;
  color: #536471;
}

.forum-quote-preview-content {
  font-size: 14px;
  color: #0f1419;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.forum-quote-preview-images {
  display: flex;
  gap: 4px;
  margin-top: 8px;
  border-radius: 8px;
  overflow: hidden;
}

.forum-quote-preview-images img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 8px;
}

.forum-quote-more-images {
  width: 60px;
  height: 60px;
  background: rgba(0,0,0,0.5);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
  border-radius: 8px;
}

/* ==================== è½¬å‘æ ‡ç­¾å’Œå¼•ç”¨å¡ç‰‡ ==================== */

.forum-retweet-label {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 0 4px 52px;
  font-size: 13px;
  color: #536471;
}

.forum-quote-card {
  border: 1px solid #cfd9de;
  border-radius: 16px;
  padding: 12px;
  margin-top: 12px;
  cursor: pointer;
  transition: background 0.2s;
}

.forum-quote-card:active {
  background: #f7f9f9;
}

.forum-quote-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.forum-quote-avatar {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  overflow: hidden;
  background: #f0f0f0;
}

.forum-quote-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.forum-quote-name {
  font-size: 13px;
  font-weight: 700;
  color: #0f1419;
}

.forum-quote-handle {
  font-size: 13px;
  color: #536471;
}

.forum-quote-content {
  font-size: 14px;
  color: #0f1419;
  line-height: 1.4;
}

.forum-quote-card .forum-post-images {
  margin-top: 8px;
}

/* ==================== å›žå¤åˆ—è¡¨æ ·å¼ ==================== */

.forum-reply-item {
  border-bottom: 1px solid #eff3f4;
}

.forum-reply-context {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 12px 16px 0;
  font-size: 13px;
  color: #536471;
}

.forum-reply-context-icon {
  font-size: 16px;
}

.forum-reply-item .forum-post {
  border-bottom: none;
}

.forum-reply-original {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 16px 12px 68px;
  font-size: 13px;
  color: #536471;
}

.forum-reply-original-avatar {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  overflow: hidden;
  background: #f0f0f0;
  flex-shrink: 0;
}

.forum-reply-original-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.forum-reply-original-content {
  display: flex;
  gap: 4px;
  overflow: hidden;
}

.forum-reply-original-name {
  font-weight: 600;
  color: #0f1419;
  flex-shrink: 0;
}

.forum-reply-original-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ==================== æ²‰æµ¸å¼ä¸ªäººä¸»é¡µ ==================== */

.forum-profile-immersive {
  padding-top: 0 !important;
}

/* å…¨å±èƒŒæ™¯å›¾ - è¦†ç›–åˆ°é¡¶ç«¯ */
.forum-profile-banner-full {
  height: calc(200px + env(safe-area-inset-top, 0));
  background: linear-gradient(135deg, #cfd9de 0%, #adb5bd 100%);
  position: relative;
  cursor: pointer;
  overflow: hidden;
}

.forum-profile-banner-full img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.forum-profile-banner-full .forum-profile-banner-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #e8e8e8 0%, #d0d0d0 100%);
}

.forum-profile-banner-full .forum-profile-banner-hint {
  position: absolute;
  bottom: 8px;
  right: 8px;
  background: rgba(0,0,0,0.5);
  color: white;
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 4px;
  opacity: 0;
  transition: opacity 0.2s;
}

.forum-profile-banner-full:hover .forum-profile-banner-hint,
.forum-profile-banner-full:active .forum-profile-banner-hint {
  opacity: 1;
}

.forum-profile-immersive .forum-profile-avatar-row {
  margin-top: -42px;
}

/* å…¶ä»–ç”¨æˆ·ä¸»é¡µ */
.forum-other-profile-back {
  position: absolute;
  top: calc(12px + env(safe-area-inset-top, 0));
  left: 12px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: rgba(0, 0, 0, 0.5);
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: background 0.2s;
}

.forum-other-profile-back:active {
  background: rgba(0, 0, 0, 0.7);
}

.forum-profile-follow-btn {
  padding: 8px 16px;
  background: #0f1419;
  color: white;
  border: none;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s;
}

.forum-profile-follow-btn:active {
  background: #2f3336;
}

/* ç½®é¡¶å¸–å­æŒ‡ç¤ºå™¨ */
.forum-pinned-indicator {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px 0;
  color: #536471;
  font-size: 13px;
}

.forum-pinned-indicator svg {
  color: #536471;
}

/* ç”Ÿæˆæ›´å¤šå¸–å­æŒ‰é’® */
.forum-generate-more-posts {
  padding: 16px;
  display: flex;
  justify-content: center;
}

.forum-generate-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: #f7f9f9;
  border: 1px solid #eff3f4;
  border-radius: 20px;
  color: #536471;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s;
}

.forum-generate-btn:hover,
.forum-generate-btn:active {
  background: #eff3f4;
  color: #0f1419;
}

/* å¸–å­åç§°å¯ç‚¹å‡» */
.forum-post-name {
  cursor: pointer;
}

.forum-post-name:hover {
  text-decoration: underline;
}

.forum-post-avatar {
  cursor: pointer;
}

/* ==================== ç¼–è¾‘è¡¨å•è¡Œå†…å¸ƒå±€ ==================== */

.forum-profile-editor-field-row {
  display: flex;
  gap: 16px;
}

.forum-profile-editor-field-half {
  flex: 1;
  margin-bottom: 24px;
}

.forum-profile-editor-field-half input {
  width: 100%;
  padding: 12px;
  border: 1px solid #cfd9de;
  border-radius: 4px;
  font-size: 15px;
  color: #0f1419;
  box-sizing: border-box;
}

.forum-profile-editor-field-half input:focus {
  outline: none;
  border-color: #1d9bf0;
}

/* ==================== çƒ­ç‚¹é¡µé¢æ ·å¼ ==================== */

.forum-hot-container {
  padding-bottom: calc(70px + env(safe-area-inset-bottom, 0));
}

/* æœç´¢æ  */
.forum-hot-search {
  padding: 12px 16px;
  position: sticky;
  top: 0;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 10;
}

.forum-hot-search-box {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #eff3f4;
  border-radius: 9999px;
  padding: 12px 16px;
  transition: all 0.2s;
}

.forum-hot-search-box:focus-within {
  background: #fff;
  box-shadow: 0 0 0 2px #0f1419; /* é»‘è‰²èšç„¦ */
}

.forum-hot-search-box input {
  flex: 1;
  background: none;
  border: none;
  outline: none;
  font-size: 15px;
  color: #0f1419;
}

.forum-hot-search-box input::placeholder {
  color: #536471;
}

/* çƒ­ç‚¹åŒºå— */
.forum-hot-section {
  background: #fff;
  margin-bottom: 12px;
}

.forum-hot-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #eff3f4;
}

.forum-hot-section-title {
  font-size: 19px;
  font-weight: 800;
  color: #0f1419;
}

/* çƒ­é—¨è¯é¢˜åˆ—è¡¨ */
.forum-hot-topics {
  
}

.forum-hot-topic-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  cursor: pointer;
  transition: background 0.2s;
  border-bottom: 1px solid #eff3f4;
}

.forum-hot-topic-item:last-child {
  border-bottom: none;
}

.forum-hot-topic-item:active {
  background: #f7f9f9;
}

.forum-hot-topic-rank {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  color: #536471;
}

.forum-hot-topic-item:nth-child(1) .forum-hot-topic-rank,
.forum-hot-topic-item:nth-child(2) .forum-hot-topic-rank,
.forum-hot-topic-item:nth-child(3) .forum-hot-topic-rank {
  color: #0f1419; /* å‰ä¸‰åæ”¹ä¸ºé»‘è‰² */
}

.forum-hot-topic-content {
  flex: 1;
  min-width: 0;
}

.forum-hot-topic-category {
  font-size: 13px;
  color: #536471;
  margin-bottom: 2px;
}

.forum-hot-topic-tag {
  font-size: 15px;
  font-weight: 700;
  color: #0f1419;
  margin-bottom: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.forum-hot-topic-count {
  font-size: 13px;
  color: #536471;
}

.forum-hot-topic-trend {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
}

.forum-hot-topic-trend.up {
  color: #00ba7c;
}

.forum-hot-topic-trend.down {
  color: #f4212e;
}

.forum-hot-topic-trend.stable {
  color: #536471;
}

/* çƒ­é—¨å¸–å­ */
.forum-hot-posts {
  
}

.forum-hot-posts .forum-post {
  border-bottom: 1px solid #eff3f4;
}

.forum-hot-posts .forum-post:last-child {
  border-bottom: none;
}

.forum-hot-empty {
  padding: 40px 20px;
  text-align: center;
  color: #536471;
  font-size: 15px;
}

/* çŒœä½ æƒ³æœå…³é”®è¯ */
.forum-hot-keywords {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 16px;
}

.forum-hot-keyword {
  display: inline-block;
  padding: 8px 16px;
  background: #eff3f4;
  border-radius: 9999px;
  font-size: 14px;
  color: #0f1419;
  cursor: pointer;
  transition: all 0.2s;
}

.forum-hot-keyword:active {
  background: #e1e8ed;
  transform: scale(0.98);
}

/* ==================== æœç´¢ç»“æžœé¡µé¢æ ·å¼ ==================== */

.forum-hot-title {
  font-size: 17px;
  font-weight: 700;
  color: #0f1419;
  padding: 0 8px;
}

.forum-search-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  padding-top: calc(12px + env(safe-area-inset-top, 0));
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid #eff3f4;
  position: sticky;
  top: 0;
  z-index: 10;
}

.forum-search-back {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: #0f1419;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}

.forum-search-back:active {
  background: rgba(0, 0, 0, 0.05);
}

.forum-search-title {
  flex: 1;
  font-size: 17px;
  font-weight: 700;
  color: #0f1419;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.forum-search-refresh {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: #536471;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}

.forum-search-refresh:active {
  background: rgba(0, 0, 0, 0.05);
}

.forum-search-refresh.spinning svg {
  animation: spin 1s linear infinite;
}

/* æœç´¢Loading */
.forum-search-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  gap: 16px;
}

.forum-search-spinner {
  width: 32px;
  height: 32px;
  border: 3px solid #eff3f4;
  border-top-color: #0f1419; /* é»‘è‰² */
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

.forum-search-loading-text {
  font-size: 15px;
  color: #536471;
}

/* æœç´¢ç»“æžœ */
.forum-search-results {
  
}

.forum-search-stats {
  padding: 12px 16px;
  font-size: 14px;
  color: #536471;
  background: #f7f9f9;
  border-bottom: 1px solid #eff3f4;
}

.forum-search-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  text-align: center;
}

.forum-search-empty-icon {
  font-size: 48px;
  margin-bottom: 16px;
}

.forum-search-empty-text {
  font-size: 15px;
  color: #536471;
  line-height: 1.5;
  margin-bottom: 16px;
}

/* æœç´¢æ¡†æŒ‰é’® */
.forum-hot-search-btn {
  background: #0f1419; /* é»‘åº• */
  color: white;
  border: none;
  padding: 6px 14px;
  border-radius: 9999px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  flex-shrink: 0;
}

.forum-hot-search-btn:active {
  background: #272c30; /* æ·±ç° */
  transform: scale(0.98);
}

/* ==================== ç§ä¿¡åŠŸèƒ½æ ·å¼ ==================== */

/* ç§ä¿¡æŒ‰é’®ï¼ˆä¸»é¡µï¼‰ */
.forum-profile-actions-row {
  display: flex;
  gap: 8px;
  align-items: center;
  align-self: flex-end; /* å’Œå¤´åƒåº•éƒ¨å¯¹é½ */
}

.forum-profile-dm-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid #cfd9de;
  background: white;
  color: #536471;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}

.forum-profile-dm-btn:active {
  background: #f7f9f9;
  color: #0f1419;
}

.forum-dm-page {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  z-index: 5000 !important; /* ã€ä¿®æ”¹ã€‘ä»Ž 300 æ”¹ä¸º 5000ï¼Œå¹¶åŠ  !important ç¡®ä¿ç½®é¡¶ */
}

.forum-dm-list {
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 0;
  padding-bottom: env(safe-area-inset-bottom, 20px);
}

/* [ä¿®æ”¹] é¡¶éƒ¨æ ä¿æŒå¸é¡¶ */
.forum-dm-header-bar {
  /* ä¿æŒåŽŸæœ‰æ ·å¼ï¼Œç¡®ä¿ sticky ç”Ÿæ•ˆ */
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  padding-top: calc(12px + env(safe-area-inset-top, 0));
  border-bottom: 1px solid #eff3f4;
  background: rgba(255, 255, 255, 0.95); /* å¾®è°ƒé€æ˜Žåº¦ä¸Žä¸»é¡µä¸€è‡´ */
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  position: sticky;
  top: 0;
  z-index: 10;
}

.forum-dm-back,
.forum-dm-generate {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: #536471;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}

.forum-dm-back:active,
.forum-dm-generate:active {
  background: rgba(0,0,0,0.1);
}

.forum-dm-title {
  font-size: 18px;
  font-weight: 700;
  color: #0f1419;
}

/* ç§ä¿¡åˆ—è¡¨ */
.forum-dm-list {
  padding: 0;
}

.forum-dm-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  cursor: pointer;
  transition: background 0.2s;
  position: relative;
}

.forum-dm-item:active {
  background: #f7f9f9;
}

.forum-dm-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  background: #f0f0f0;
}

.forum-dm-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.forum-dm-content {
  flex: 1;
  min-width: 0;
}

.forum-dm-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}

.forum-dm-name {
  font-weight: 700;
  color: #0f1419;
  font-size: 15px;
}

.forum-dm-time {
  font-size: 13px;
  color: #536471;
}

.forum-dm-preview {
  font-size: 14px;
  color: #536471;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.forum-dm-unread {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  background: #0f1419; /* é»‘è‰²å°çº¢ç‚¹ */
  color: white;
  font-size: 12px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 10px;
  min-width: 20px;
  text-align: center;
}

.forum-dm-empty {
  text-align: center;
  padding: 60px 20px;
  color: #536471;
  font-size: 15px;
}

.forum-dm-chat {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #f7f9f9;
  display: flex;
  flex-direction: column;
  z-index: 5010 !important; 
}

.forum-dm-chat-header {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  padding-top: calc(12px + env(safe-area-inset-top, 0));
  background: white;
  border-bottom: 1px solid #eff3f4;
}

.forum-dm-chat-user {
  display: flex;
  align-items: center;
  gap: 10px;
}

.forum-dm-chat-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  background: #f0f0f0;
}

.forum-dm-chat-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.forum-dm-chat-name {
  font-weight: 700;
  color: #0f1419;
  font-size: 16px;
}

/* æ¶ˆæ¯åˆ—è¡¨ */
.forum-dm-messages {
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.forum-dm-message {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  max-width: 80%;
}

.forum-dm-message.mine {
  align-self: flex-end;
  flex-direction: row-reverse;
}

.forum-dm-message.other {
  align-self: flex-start;
}

.forum-dm-msg-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  background: #f0f0f0;
}

.forum-dm-msg-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.forum-dm-msg-bubble {
  padding: 10px 14px;
  border-radius: 18px;
  font-size: 15px;
  line-height: 1.4;
  word-break: break-word;
}

.forum-dm-message.other .forum-dm-msg-bubble {
  background: white;
  color: #0f1419;
}

.forum-dm-message.mine .forum-dm-msg-bubble {
  background: #0f1419; /* é»‘è‰²æ°”æ³¡ */
  color: white;
}

/* è¾“å…¥åŒºåŸŸ */
.forum-dm-input-area {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  padding-bottom: calc(12px + env(safe-area-inset-bottom, 0));
  background: white;
  border-top: 1px solid #eff3f4;
}

.forum-dm-input {
  flex: 1;
  padding: 10px 16px;
  border: 1px solid #eff3f4;
  border-radius: 20px;
  font-size: 15px;
  background: #f7f9f9;
  outline: none;
}

.forum-dm-input:focus {
  border-color: #0f1419; /* é»‘è‰²è¾¹æ¡† */
  background: white;
}

.forum-dm-generate-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #eff3f4;
  background: #f7f9f9;
  color: #536471;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  flex-shrink: 0;
}

.forum-dm-generate-icon:active {
  background: #eff3f4;
  color: #0f1419;
}

.forum-dm-send {
  padding: 10px 18px;
  background: #0f1419; /* é»‘åº• */
  color: white;
  border: none;
  border-radius: 20px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  flex-shrink: 0;
}

.forum-dm-send:active {
  background: #272c30;
  transform: scale(0.98);
}

/* ==================== ä¸–ç•Œä¹¦ç»‘å®šæ ·å¼ ==================== */

.forum-worldbook-list {
  margin-bottom: 12px;
}

.forum-worldbook-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  background: #f7f9f9;
  border: 1px solid #eff3f4;
  border-radius: 12px;
  margin-bottom: 8px;
}

.forum-worldbook-icon {
  font-size: 24px;
  flex-shrink: 0;
}

.forum-worldbook-info {
  flex: 1;
  min-width: 0;
}

.forum-worldbook-name {
  font-size: 15px;
  font-weight: 600;
  color: #0f1419;
  margin-bottom: 2px;
}

.forum-worldbook-count {
  font-size: 13px;
  color: #536471;
}

.forum-worldbook-remove {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: #536471;
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  flex-shrink: 0;
}

.forum-worldbook-remove:hover,
.forum-worldbook-remove:active {
  background: #fee2e2;
  color: #ef4444;
}

.forum-add-worldbook-btn {
  margin-top: 8px;
}

.forum-worldbook-select-icon {
  background: linear-gradient(135deg, #8b5cf6 0%, #6366f1 100%) !important;
  color: white !important;
  font-size: 18px !important;
}

/* ==================== å¸–å­æ›´å¤šèœå•å’Œåˆ é™¤åŠŸèƒ½ ==================== */

/* å¸–å­æ›´å¤šæŒ‰é’® */
.forum-post-more-btn {
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  color: #536471;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  flex-shrink: 0;
  transition: all 0.2s;
}

.forum-post-more-btn:hover,
.forum-post-more-btn:active {
  background: rgba(15, 20, 25, 0.1); /* æµ…ç°æŒ‰åŽ‹ */
  color: #0f1419; /* é»‘è‰² */
}

/* æ›´å¤šèœå•ä¸‹æ‹‰ */
.forum-post-more-menu {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  min-width: 180px;
  animation: fadeInScale 0.15s ease-out;
}

@keyframes fadeInScale {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.forum-post-more-menu-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  cursor: pointer;
  font-size: 15px;
  font-weight: 500;
  color: #0f1419;
  transition: background 0.2s;
}

.forum-post-more-menu-item:active {
  background: #f7f9f9;
}

.forum-post-more-menu-item.delete {
  color: #f4212e;
}

.forum-post-more-menu-item.delete:active {
  background: #fef2f2;
}

/* åˆ é™¤ç¡®è®¤å¼¹çª— */
.forum-delete-confirm-modal {
  background: #ffffff;
  border-radius: 16px;
  padding: 24px;
  width: 280px;
  max-width: 90vw;
  text-align: center;
}

.forum-delete-confirm-title {
  font-size: 20px;
  font-weight: 700;
  color: #0f1419;
  margin-bottom: 8px;
}

.forum-delete-confirm-text {
  font-size: 15px;
  color: #536471;
  line-height: 1.5;
  margin-bottom: 24px;
}

.forum-delete-confirm-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.forum-delete-cancel-btn {
  width: 100%;
  padding: 12px;
  border-radius: 9999px;
  border: 1px solid #cfd9de;
  background: #ffffff;
  color: #0f1419;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s;
}

.forum-delete-cancel-btn:active {
  background: #f7f9f9;
}

.forum-delete-confirm-btn {
  width: 100%;
  padding: 12px;
  border-radius: 9999px;
  border: none;
  background: #f4212e;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s;
}

.forum-delete-confirm-btn:active {
  background: #dc1e28;
}

/* ==================== @æåŠæ ·å¼ (ä¿®å¤ç‰ˆ) ==================== */
.forum-mention {
  color: #1d9bf0 !important; /* ä¿æŒæŽ¨ç‰¹è“å­—ä½“ */
  cursor: pointer;
  font-weight: 600; 
  background: transparent !important; /* ã€ä¿®æ”¹ã€‘èƒŒæ™¯æ”¹ä¸ºé€æ˜Ž */
  padding: 0 !important;              /* ã€ä¿®æ”¹ã€‘åŽ»æŽ‰å†…è¾¹è· */
  border-radius: 0;                   /* ã€ä¿®æ”¹ã€‘åŽ»æŽ‰åœ†è§’ */
  display: inline;                    /* ã€ä¿®æ”¹ã€‘æ”¹ä¸ºè¡Œå†…æ˜¾ç¤ºï¼Œæ›´è‡ªç„¶ */
  line-height: inherit;
  text-decoration: none !important;
  transition: color 0.2s;
}

.forum-mention:hover,
.forum-mention:active {
  background: transparent !important; /* æ‚¬åœæ—¶ä¹Ÿä¸è¦èƒŒæ™¯ */
  text-decoration: underline !important; /* æ‚¬åœæ—¶åŠ ä¸‹åˆ’çº¿ */
  color: #1a8cd8 !important; /* æ‚¬åœæ—¶é¢œè‰²æ·±ä¸€ç‚¹ */
}

/* ==================== é¢„è®¾ç®¡ç†æŠ˜å é¢æ¿ (æžç®€çº¯å‡€ç‰ˆ) ==================== */

/* 1. å¤–å±‚å®¹å™¨ï¼šåŽ»æŽ‰å¤šä½™é˜´å½±ï¼Œä¿æŒå¹²å‡€ */
.forum-accordion {
  border: 1px solid #eff3f4;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
  transition: border-color 0.2s;
  margin-bottom: 0;
}

.forum-accordion.active {
  border-color: #cfd9de; /* å±•å¼€æ—¶è¾¹æ¡†ç¨å¾®æ·±ä¸€ç‚¹ç‚¹ */
}

/* 2. æ ‡é¢˜æ ï¼šç´§å‡‘ã€å°å­—å·ã€æ— å›¾æ ‡å¹²æ‰° */
.forum-accordion-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px; /* ç¼©å°é«˜åº¦ */
  background: #fff;
  cursor: pointer;
  user-select: none;
  min-height: 44px;
}

.forum-accordion-title {
  font-size: 14px; /* ã€å…³é”®ä¿®æ”¹ã€‘å­—å·æ”¹å° */
  font-weight: 600; /* ã€å…³é”®ä¿®æ”¹ã€‘å­—é‡æ”¹æ­£å¸¸ */
  color: #0f1419;
}

/* å³ä¾§å°ç®­å¤´ */
.forum-accordion-arrow {
  color: #536471;
  display: flex;
  align-items: center;
  transition: transform 0.2s ease;
}

.forum-accordion.active .forum-accordion-arrow {
  transform: rotate(180deg);
}

/* 3. å†…å®¹åŒºåŸŸï¼šç°è‰²èƒŒæ™¯ï¼Œå†…ç¼© */
.forum-accordion-content {
  display: none;
  padding: 16px;
  background: #f7f9f9;
  border-top: 1px solid #eff3f4;
}

.forum-accordion.active .forum-accordion-content {
  display: block;
  animation: fadeIn 0.15s ease-out;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* 4. æŒ‰é’®ç»„å¸ƒå±€ */
.forum-btn-group {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}

/* 5. æŒ‰é’®é€šç”¨æ ·å¼ï¼šèƒ¶å›Šå½¢ã€çº¯æ–‡å­—ã€å°å­—å· */
.forum-preset-btn {
  flex: 1;
  padding: 8px 0;
  border: none;
  border-radius: 9999px; /* èƒ¶å›Šåœ†è§’ */
  font-size: 13px;     /* å°å­—å· */
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: none !important; /* åŽ»æŽ‰æ‰€æœ‰æµ®å¤¸çš„é˜´å½± */
}

.forum-preset-btn:active {
  transform: scale(0.97);
}

/* æ–°å»ºæŒ‰é’®ï¼šé»‘åº•ç™½å­— */
.forum-preset-btn.save {
  background: #0f1419;
  color: #ffffff;
}
.forum-preset-btn.save:active {
  background: #272c30;
}

/* è¦†ç›–æŒ‰é’®ï¼šç™½åº•ç°è¾¹ */
.forum-preset-btn.update {
  background: #ffffff;
  border: 1px solid #cfd9de;
  color: #536471;
}
.forum-preset-btn.update:active {
  background: #eff3f4;
  color: #0f1419;
}

/* åˆ é™¤æŒ‰é’®ï¼šæµ…çº¢åº•çº¢å­—ï¼ˆä¸åˆºçœ¼ï¼‰ */
.forum-preset-btn.delete {
  background: #fff;
  border: 1px solid #fecaca;
  color: #f4212e;
}
.forum-preset-btn.delete:active {
  background: #fef2f2;
}

/* éšè—åº•éƒ¨é‚£è¡Œè§£é‡Šæ–‡å­—ï¼Œæ—¢ç„¶å«Œå­—å¤§å«Œä¹±ï¼Œä¸å¦‚ç›´æŽ¥éšè— */
.forum-preset-hint {
  display: none; 
}

/* ==================== è½¬å‘å¡ç‰‡åœ¨èŠå¤©ä¸­çš„æ ·å¼ä¿®æ­£ ==================== */

/* ç¡®ä¿å¡ç‰‡åœ¨èŠå¤©æ°”æ³¡å†…æœ‰æ­£ç¡®çš„å¤§å°å’Œç‚¹å‡»äº‹ä»¶ */
.retweet-card {
  max-width: 100% !important; /* é˜²æ­¢åœ¨çª„æ°”æ³¡ä¸­æº¢å‡º */
  width: 280px; /* ç»™å®šä¸€ä¸ªåˆé€‚çš„å®½åº¦ */
  margin: 4px 0;
  pointer-events: auto; /* å…³é”®ï¼šå…è®¸ç‚¹å‡» */
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  user-select: none; /* é˜²æ­¢ç‚¹å‡»å˜æˆé€‰ä¸­æ–‡æœ¬ */
}

/* é€‚é…èŠå¤©æ°”æ³¡çš„èƒŒæ™¯è‰² */
.msg-bubble .retweet-card {
    background-color: #ffffff;
    color: #000000;
}

/* é¼ æ ‡æ‚¬åœæ•ˆæžœæç¤ºå¯ç‚¹å‡» */
.retweet-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

/* ç¡®ä¿å†…å®¹ä¸æº¢å‡º */
.retweet-card-content {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-align: left; /* å¼ºåˆ¶å·¦å¯¹é½ */
}


/* ==================== è½¬å‘å¡ç‰‡ (æžé€ŸåŽ‹ç¼©ç‰ˆ) ==================== */

/* 1. å¤–å±‚å®¹å™¨ï¼šå¼ºåˆ¶é€æ˜Žã€å›ºå®šå®½åº¦ */
.Miu-miu .content.retweet-only {
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: none !important;
    width: 240px !important;       /* ä¿æŒå°å·§å®½åº¦ */
    min-width: 240px !important;
    max-width: 240px !important;
    margin: 0 !important; 
}

/* åŽ»æŽ‰æ°”æ³¡å°å°¾å·´ */
.Miu-miu .content.retweet-only::after,
.Miu-miu .content.retweet-only::before { display: none !important; }

/* 2. å¡ç‰‡æœ¬ä½“ï¼šåŽ»é™¤å¤šä½™é«˜åº¦ */
.retweet-card {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #cfd9de;
    display: flex;
    flex-direction: column;
    /* å…³é”®ï¼šè®©é«˜åº¦è‡ªåŠ¨é€‚åº”å†…å®¹ï¼Œä¸è®¸è¢«æ’‘å¼€ */
    height: auto !important; 
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

/* 3. é¡¶éƒ¨ç°è‰²æ¡ï¼šå˜çŸ® */
.retweet-card-label {
    background: #f7f9f9;
    padding: 6px 10px !important; /* åŽ‹ç¼©å†…è¾¹è· */
    font-size: 11px;
    color: #536471;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 5px;
    border-bottom: 1px solid #eff3f4;
    height: 28px !important;      /* å¼ºåˆ¶å›ºå®šé«˜åº¦ */
    box-sizing: border-box;
}

/* 4. å†…å®¹åŒºåŸŸï¼šæžè‡´ç´§å‡‘ */
.retweet-card-body {
    padding: 8px 10px !important; /* å‡å°‘å†…è¾¹è· */
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 0 !important;            /* æ¶ˆé™¤å¼¹æ€§å¸ƒå±€é—´éš™ */
}

/* ç”¨æˆ·ä¿¡æ¯æ  */
.retweet-card-header {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 4px !important; /* åŽ‹ç¼©ä¸Žæ­£æ–‡çš„è·ç¦» */
    height: 20px !important;
}

.retweet-card-avatar {
    width: 18px !important;        /* å¤´åƒå†å°ä¸€ç‚¹ */
    height: 18px !important;
    border-radius: 50%;
    overflow: hidden;
    background: #eee;
}
.retweet-card-avatar img { width: 100%; height: 100%; object-fit: cover; }

.retweet-card-author-info {
    font-size: 12px;
    line-height: 1;                /* é˜²æ­¢è¡Œé«˜æ’‘å¼€ */
    display: flex;
    align-items: baseline;
    gap: 4px;
    overflow: hidden;
}

.retweet-card-author {
    font-weight: 700;
    color: #0f1419;
}

.retweet-card-handle {
    font-size: 11px;
    color: #536471;
    opacity: 0.8;
}

/* æ­£æ–‡å†…å®¹ï¼šæœ€å®¹æ˜“å‡ºé—®é¢˜çš„åœ°æ–¹ */
.retweet-card-content {
    font-size: 13px !important;
    line-height: 1.4 !important;   /* ç´§å‡‘è¡Œé«˜ */
    color: #0f1419;
    margin: 0 !important;          /* â˜…â˜…â˜… å¼ºåˆ¶åŽ»æŽ‰ä¸Šä¸‹å¤–è¾¹è· â˜…â˜…â˜… */
    margin-bottom: 8px !important; /* åªç•™ä¸€ç‚¹ç‚¹è·ç¦»ç»™åº•éƒ¨å›¾æ ‡ */
    padding: 0 !important;
    
    display: -webkit-box;
    -webkit-line-clamp: 3;         /* æœ€å¤š3è¡Œ */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* é˜²æ­¢æ­£æ–‡å†…éƒ¨çš„ p æ ‡ç­¾æ£ä¹± */
.retweet-card-content p,
.retweet-card-content div {
    margin: 0 !important;
    padding: 0 !important;
}

/* 5. åº•éƒ¨å›¾æ ‡æ  */
.retweet-card-footer {
    display: flex;
    justify-content: space-between;
    padding-top: 6px !important;   /* ç¨å¾®ç´§å‡‘ä¸€ç‚¹ */
    border-top: 1px solid #eff3f4;
    color: #536471;
    margin-top: auto;              /* ç¡®ä¿åœ¨æœ€åº•éƒ¨ */
}

.retweet-stat-item {
    display: flex;
    align-items: center;
    gap: 3px;
    font-size: 10px !important;    /* å­—ä½“æ”¹å° */
}

.retweet-stat-item svg {
    fill: #536471;
    width: 13px;
    height: 13px;
}

/* ==================== ðŸ› ï¸ è½¬å‘å¡ç‰‡ç»ˆæžåŽ»æ°”æ³¡è¡¥ä¸ (Fix) ==================== */

/* 1. æ ¸å¿ƒé€»è¾‘ï¼šåªè¦æ°”æ³¡é‡ŒåŒ…å« .retweet-cardï¼Œå¼ºåˆ¶é€æ˜ŽåŒ– */
/* æ¶µç›–äº†æ‰€æœ‰å¯èƒ½çš„çˆ¶çº§é€‰æ‹©å™¨ç»„åˆï¼Œç¡®ä¿ä¼˜å…ˆçº§æœ€é«˜ */
.Miu-miu .content:has(.retweet-card),
.Miu-miu.user .content:has(.retweet-card),
.Miu-miu.ai .content:has(.retweet-card),
.message-row .content:has(.retweet-card),
#roomMessages .content:has(.retweet-card) {
    background: transparent !important;       /* åŽ»æŽ‰èƒŒæ™¯è‰² */
    background-color: transparent !important; /* åŒé‡ä¿é™© */
    box-shadow: none !important;              /* åŽ»æŽ‰é˜´å½± */
    border: none !important;                  /* åŽ»æŽ‰è¾¹æ¡† */
    padding: 0 !important;                    /* â˜…å…³é”®ï¼šåŽ»æŽ‰æ°”æ³¡çš„å†…è¾¹è·ï¼Œå¦åˆ™å¡ç‰‡å‘¨å›´æœ‰ä¸€åœˆç©ºéš™ */
    margin: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;             /* å…è®¸å¡ç‰‡é˜´å½±æº¢å‡º */
}

/* 2. æ ¸å¿ƒé€»è¾‘ï¼šåˆ‡æ–­æ°”æ³¡çš„â€œå°å°¾å·´â€ (å°–è§’) */
.Miu-miu .content:has(.retweet-card)::before,
.Miu-miu .content:has(.retweet-card)::after,
.Miu-miu.user .content:has(.retweet-card)::after,
.Miu-miu.ai .content:has(.retweet-card)::before {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    border: none !important;
}

/* 3. é¢œè‰²ä¿®å¤ï¼šé˜²æ­¢â€œæˆ‘â€å‘çš„æ¶ˆæ¯æ–‡å­—è¢«å¼ºåˆ¶å˜ç™½ */
/* è®¸å¤šä¸»é¢˜è®¾ç½® .Miu-miu.user .content { color: #fff }ï¼Œè¿™ä¼šå¯¼è‡´ç™½åº•å¡ç‰‡é‡Œçš„å­—çœ‹ä¸è§ */
.Miu-miu.user .content:has(.retweet-card),
.Miu-miu.user .content:has(.retweet-card) * {
    color: inherit !important; /* é‡ç½®é¢œè‰²ç»§æ‰¿ */
}

/* å¼ºåˆ¶å¡ç‰‡å†…éƒ¨å…ƒç´ é¢œè‰²æ­£ç¡® */
.Miu-miu.user .content:has(.retweet-card) .retweet-card-author,
.Miu-miu.user .content:has(.retweet-card) .retweet-card-content,
.Miu-miu.user .content:has(.retweet-card) .retweet-card-title {
    color: #0f1419 !important; /* å¼ºåˆ¶é»‘è‰² */
}

.Miu-miu.user .content:has(.retweet-card) .retweet-card-handle,
.Miu-miu.user .content:has(.retweet-card) .retweet-stat-item,
.Miu-miu.user .content:has(.retweet-card) .retweet-card-label {
    color: #536471 !important; /* å¼ºåˆ¶ç°è‰² */
}

.Miu-miu.user .content:has(.retweet-card) svg {
    fill: currentColor !important; /* å›¾æ ‡è·Ÿéšé¢œè‰² */
}

/* 4. ç¡®ä¿å¡ç‰‡æœ¬èº«æœ‰æ­£ç¡®çš„èƒŒæ™¯ (é˜²æ­¢å®ƒæ˜¯é€æ˜Žçš„) */
.retweet-card {
    background-color: #ffffff !important;
    position: relative;
    z-index: 10;
    /* ç»™å¡ç‰‡åŠ ä¸€ä¸ªç¨å¾®æ˜Žæ˜¾çš„é˜´å½±ï¼Œæ›¿ä»£æ°”æ³¡çš„é˜´å½± */
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important; 
    margin-top: 2px !important;
    margin-bottom: 2px !important;
}
