@layer legacy {
/*
 * iLink public portal v1
 * The portal stays navigation-led. Team Space is intentionally the only
 * workspace-style screen; public pages use quiet lists, filters and detail
 * surfaces so discovery remains fast.
 */

/* Shared public-page rhythm; component rules remain in their page modules. */
body[data-app-page="team-market"] .il-page-wrapper,
body[data-app-page="teacher-wall"] .il-page-wrapper,
body[data-app-page="community"] .il-page-wrapper,
body[data-app-page="gallery"] .il-page-wrapper {
  padding-top: 0 !important;
}

/* ui-refresh：四个列表页容器放宽至 1400（覆盖 app-redesign 的全局 1200 壳） */
html.ilink-app body[data-app-page="team-market"] .il-page-wrapper,
html.ilink-app body[data-app-page="teacher-wall"] .il-page-wrapper,
html.ilink-app body[data-app-page="gallery"] .il-page-wrapper,
html.ilink-app body[data-app-page="competitions"] .main-content,
html.ilink-app body[data-app-page="competitions"] .container.main-content {
  width: min(100% - 48px, 1400px) !important;
  max-width: 1400px !important;
}

html.ilink-app body[data-app-page="team-market"] .hero-section,
html.ilink-app body[data-app-page="teacher-wall"] .hero-section,
html.ilink-app body[data-app-page="gallery"] .il-hero,
html.ilink-app body[data-app-page="competitions"] .il-hero {
  width: min(100% - 48px, 1400px) !important;
}

/* ui-refresh：搜索栏占满父容器，与下方卡片列表同宽；覆盖 app-redesign 的 1200px 全局锁 */
html.ilink-app body[data-app-page="team-market"] .il-search-bar,
html.ilink-app body[data-app-page="teacher-wall"] .il-search-bar,
html.ilink-app body[data-app-page="gallery"] .il-search-bar,
html.ilink-app body[data-app-page="competitions"] .il-search-bar {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 60px !important;
  padding: 10px 16px !important;
  gap: 10px !important;
}


body[data-app-page="competitions"] .container.main-content,
body[data-app-page="competitions"] .main-content {
  padding-top: 0 !important;
  max-width: 1400px !important;
}

body[data-app-page="team-market"] .hero-section,
body[data-app-page="teacher-wall"] .hero-section {
  padding-top: 22px !important;
  padding-bottom: 24px !important;
}

body[data-app-page="community"] .il-hero,
body[data-app-page="gallery"] .il-hero,
body[data-app-page="competitions"] .il-hero {
  padding-top: 22px !important;
  padding-bottom: 24px !important;
  margin-bottom: 24px !important;
}

body[data-app-page="competitions"] .competition-hub {
  padding-top: 0 !important;
}

body[data-app-page="team-market"] .hero-eyebrow,
body[data-app-page="teacher-wall"] .hero-eyebrow,
body[data-app-page="community"] .il-hero__eyebrow,
body[data-app-page="competitions"] .il-hero__eyebrow,
body[data-app-page="gallery"] .il-hero__badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: auto !important;
  max-width: max-content !important;
  min-width: 0 !important;
  height: 32px !important;
  padding: 0 14px !important;
  margin: 0 0 18px !important;
  border: 1px solid #f5efe6 !important;
  border-radius: 999px !important;
  background: #faf6f0 !important;
  color: #a08055 !important;
  box-shadow: none !important;
  font-family: "Microsoft YaHei", "Noto Sans SC", sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body[data-app-page="team-market"] .hero-eyebrow svg,
body[data-app-page="teacher-wall"] .hero-eyebrow svg,
body[data-app-page="community"] .il-hero__eyebrow svg,
body[data-app-page="competitions"] .il-hero__eyebrow svg,
body[data-app-page="gallery"] .il-hero__badge svg {
  width: 15px !important;
  height: 15px !important;
  flex: 0 0 15px !important;
  color: #a08055 !important;
  stroke: currentColor !important;
}

body[data-app-page="team-market"] .toolbar-section,
body[data-app-page="teacher-wall"] .toolbar-section {
  padding-bottom: 10px !important;
}

body[data-app-page="team-market"] .content-section,
body[data-app-page="teacher-wall"] .content-section {
  padding-top: 8px !important;
}

body[data-app-page="community"] .il-search-bar,
body[data-app-page="competitions"] .il-search-bar,
body[data-app-page="gallery"] .il-search-bar {
  margin-bottom: 16px !important;
}

body[data-app-page="community"] #postList,
body[data-app-page="competitions"] #competitionGrid,
body[data-app-page="gallery"] #listContainer {
  margin-top: 0 !important;
}

html.ilink-app body[data-app-page="team-market"] .content-section,
html.ilink-app body[data-app-page="teacher-wall"] .content-section,
html.ilink-app body[data-app-page="team-market"] .toolbar-section,
html.ilink-app body[data-app-page="teacher-wall"] .toolbar-section {
  width: min(100% - 48px, 1400px) !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
}

html.ilink-app body[data-app-page="team-market"] .content-inner,
html.ilink-app body[data-app-page="teacher-wall"] .content-inner {
  width: 100% !important;
  padding: 0 0 56px !important;
}

/* Team discovery: two readable records rather than a decorative tile wall. */
html.ilink-app body[data-app-page="team-market"] #teamList {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)) !important;
  gap: 20px !important;
}

html.ilink-app body[data-app-page="team-market"] .il-team-card-shell {
  display: block !important;
  min-width: 0;
  color: inherit !important;
  text-decoration: none !important;
}

html.ilink-app body[data-app-page="team-market"] .team-card {
  display: flex !important;
  min-height: 258px;
  flex-direction: column;
  padding: 20px !important;
  overflow: hidden;
  transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease !important;
}

html.ilink-app body[data-app-page="team-market"] .team-card .card-header {
  display: flex !important;
  min-width: 0;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 0 0 12px !important;
  border: 0 !important;
}

html.ilink-app body[data-app-page="team-market"] .team-card .card-title {
  min-width: 0;
  margin: 0 !important;
  overflow: hidden;
  color: var(--ui-text) !important;
  font-family: var(--ui-font) !important;
  font-size: 18px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html.ilink-app body[data-app-page="team-market"] .team-card .category-tag,
html.ilink-app body[data-app-page="team-market"] .team-card .skill-tag {
  flex: 0 0 auto;
  color: var(--ui-text-secondary) !important;
  background: var(--ui-surface-subtle) !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}

html.ilink-app body[data-app-page="team-market"] .team-card .card-meta {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin: 0 !important;
  color: var(--ui-text-muted) !important;
  font-size: 13px !important;
}

html.ilink-app body[data-app-page="team-market"] .team-card .meta-dot,
html.ilink-app body[data-app-page="team-market"] .team-card .il-team-meta-item:not(:last-child)::after {
  display: none !important;
}

html.ilink-app body[data-app-page="team-market"] .team-card .skill-tags {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px !important;
  margin: 16px 0 0 !important;
}

html.ilink-app body[data-app-page="team-market"] .team-card .card-desc {
  display: -webkit-box;
  min-height: 44px;
  margin: 16px 0 !important;
  overflow: hidden;
  color: var(--ui-text-secondary) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

html.ilink-app body[data-app-page="team-market"] .team-card .card-divider {
  margin: auto 0 14px !important;
  border-color: var(--ui-border) !important;
}

html.ilink-app body[data-app-page="team-market"] .team-card .card-footer {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 !important;
  border: 0 !important;
}

html.ilink-app body[data-app-page="team-market"] .team-card .author-info,
html.ilink-app body[data-app-page="community"] .article-card .author-info {
  min-width: 0;
}

html.ilink-app .author-avatar,
html.ilink-app .il-author-avatar,
html.ilink-app .il-post-avatar {
  display: grid !important;
  width: 32px !important;
  height: 32px !important;
  flex: 0 0 32px !important;
  place-items: center;
  overflow: hidden !important;
  color: var(--ui-text-secondary) !important;
  background: var(--ui-surface-subtle) !important;
  border: 1px solid var(--ui-border) !important;
  border-radius: 50% !important;
}

html.ilink-app .author-avatar img,
html.ilink-app .il-author-avatar img,
html.ilink-app .il-post-avatar img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
}

html.ilink-app .author-avatar .avatar-fallback--hidden,
html.ilink-app .il-author-avatar .avatar-fallback--hidden,
html.ilink-app .il-post-avatar .avatar-fallback--hidden {
  display: none !important;
}

html.ilink-app .author-avatar .il-author-avatar-fallback:not(.avatar-fallback--hidden),
html.ilink-app .author-avatar .il-post-avatar-fallback:not(.avatar-fallback--hidden),
html.ilink-app .il-author-avatar .il-author-avatar-fallback:not(.avatar-fallback--hidden),
html.ilink-app .il-post-avatar .il-post-avatar-fallback:not(.avatar-fallback--hidden) {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: var(--ui-text-secondary);
  font-size: 12px;
  font-weight: 650;
}

/* Mentor discovery uses compact professional records; the old corner ornament is retired. */
html.ilink-app body[data-app-page="teacher-wall"] #teacherList {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)) !important;
  gap: 20px !important;
}

html.ilink-app body[data-app-page="teacher-wall"] .mentor-card-shell {
  display: flex !important;
  min-height: 310px;
  flex-direction: column;
  padding: 20px !important;
  color: var(--ui-text) !important;
  cursor: pointer;
}

html.ilink-app body[data-app-page="teacher-wall"] .mentor-corner {
  display: none !important;
}

html.ilink-app body[data-app-page="teacher-wall"] .mentor-header {
  display: flex !important;
  align-items: center;
  gap: 12px;
}

html.ilink-app body[data-app-page="teacher-wall"] .mentor-avatar {
  display: grid !important;
  width: 56px !important;
  height: 56px !important;
  flex: 0 0 56px !important;
  place-items: center;
  overflow: hidden;
  color: var(--ui-text-secondary) !important;
  background: var(--ui-surface-subtle) !important;
  border: 1px solid var(--ui-border) !important;
  border-radius: 50% !important;
}

html.ilink-app body[data-app-page="teacher-wall"] .mentor-avatar::after {
  content: none !important;
}

html.ilink-app body[data-app-page="teacher-wall"] .mentor-avatar img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}

html.ilink-app body[data-app-page="teacher-wall"] .mentor-avatar .avatar-fallback {
  display: grid !important;
  width: 100%;
  height: 100%;
  place-items: center;
  color: var(--ui-text-secondary);
  font-size: 22px;
  font-weight: 650;
}

html.ilink-app body[data-app-page="teacher-wall"] .mentor-name {
  color: var(--ui-text) !important;
  font-family: var(--ui-font) !important;
  font-size: 18px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
}

html.ilink-app body[data-app-page="teacher-wall"] .mentor-title-row,
html.ilink-app body[data-app-page="teacher-wall"] .mentor-dept,
html.ilink-app body[data-app-page="teacher-wall"] .mentor-stat-label {
  color: var(--ui-text-muted) !important;
  font-size: 13px !important;
}

html.ilink-app body[data-app-page="teacher-wall"] .mentor-dept {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  width: fit-content;
  margin-top: 6px;
  padding: 0 8px;
  background: var(--ui-surface-subtle) !important;
  border-radius: 999px;
}

html.ilink-app body[data-app-page="teacher-wall"] .mentor-divider {
  margin: 18px 0 !important;
  background: var(--ui-border) !important;
}

html.ilink-app body[data-app-page="teacher-wall"] .mentor-divider::after {
  content: none !important;
}

html.ilink-app body[data-app-page="teacher-wall"] .mentor-bio {
  display: -webkit-box;
  min-height: 48px;
  overflow: hidden;
  color: var(--ui-text-secondary) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

html.ilink-app body[data-app-page="teacher-wall"] .mentor-tags {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 14px !important;
}

html.ilink-app body[data-app-page="teacher-wall"] .mentor-tag {
  color: var(--ui-text-secondary) !important;
  background: var(--ui-surface-subtle) !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
}

html.ilink-app body[data-app-page="teacher-wall"] .mentor-footer {
  display: flex !important;
  align-items: end;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 18px;
}

html.ilink-app body[data-app-page="teacher-wall"] .mentor-stats {
  gap: 18px !important;
}

html.ilink-app body[data-app-page="teacher-wall"] .mentor-stat-value {
  color: var(--ui-text) !important;
  font-size: 18px !important;
}

html.ilink-app body[data-app-page="teacher-wall"] .mentor-btn {
  min-height: 36px;
  padding: 0 11px !important;
  color: var(--ui-text) !important;
  background: var(--ui-surface) !important;
  border-color: var(--ui-border) !important;
}

/* Community is an editorial reading flow, not a gallery of oversized cards. */
html.ilink-app body[data-app-page="community"] #postList,
html.ilink-app body[data-app-page="community"] #postPager {
  width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

html.ilink-app body[data-app-page="community"] #postList {
  display: grid;
  gap: 12px;
}

html.ilink-app body[data-app-page="community"] .article-card {
  padding: 22px 24px !important;
  cursor: pointer;
}

html.ilink-app body[data-app-page="community"] .article-card::before,
html.ilink-app body[data-app-page="community"] .article-card::after {
  content: none !important;
}

html.ilink-app body[data-app-page="community"] .article-card .card-header {
  display: flex !important;
  align-items: center;
  gap: 10px;
  padding: 0 !important;
  border: 0 !important;
}

html.ilink-app body[data-app-page="community"] .article-card .author-name,
html.ilink-app body[data-app-page="community"] .article-card .card-title {
  color: var(--ui-text) !important;
  font-family: var(--ui-font) !important;
}

html.ilink-app body[data-app-page="community"] .article-card .author-name {
  font-size: 14px !important;
  font-weight: 650 !important;
}

html.ilink-app body[data-app-page="community"] .article-card .author-meta,
html.ilink-app body[data-app-page="community"] .article-card .meta-item {
  color: var(--ui-text-muted) !important;
  font-size: 12px !important;
}

html.ilink-app body[data-app-page="community"] .article-card .card-title {
  margin: 18px 0 8px !important;
  font-size: 20px !important;
  font-weight: 650 !important;
  line-height: 1.4 !important;
}

html.ilink-app body[data-app-page="community"] .article-card .card-excerpt {
  display: -webkit-box;
  margin: 0 !important;
  overflow: hidden;
  color: var(--ui-text-secondary) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

html.ilink-app body[data-app-page="community"] .article-card .card-tags {
  margin-top: 14px !important;
}

html.ilink-app body[data-app-page="community"] .article-card .card-divider {
  margin: 18px 0 14px !important;
  border-color: var(--ui-border) !important;
}

html.ilink-app body[data-app-page="community"] .article-card .card-footer {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 !important;
  border: 0 !important;
}

html.ilink-app body[data-app-page="community"] .article-card .action-btn {
  min-height: 30px;
  padding: 0 4px !important;
  color: var(--ui-text-muted) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 13px !important;
}

html.ilink-app body[data-app-page="community"] .article-card .action-btn:hover,
html.ilink-app body[data-app-page="community"] .article-card .action-btn.il-feed-action--on {
  color: var(--ui-text) !important;
  background: transparent !important;
}

html.ilink-app body[data-app-page="community"] .article-card .read-more-btn {
  min-height: 34px !important;
  padding: 0 11px !important;
  color: var(--ui-text) !important;
  background: var(--ui-surface-subtle) !important;
  border-color: transparent !important;
}

/* Results use an even image rhythm and neutral metadata. */
html.ilink-app body[data-app-page="gallery"] .gc-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
  gap: 20px !important;
}

html.ilink-app body[data-app-page="gallery"] .gc-card {
  display: flex !important;
  min-height: 0 !important;
  flex-direction: column;
  overflow: hidden !important;
}

html.ilink-app body[data-app-page="gallery"] .gc-card::before {
  content: none !important;
}

html.ilink-app body[data-app-page="gallery"] .gc-cover {
  aspect-ratio: 16 / 10;
  height: auto !important;
  overflow: hidden;
  background: var(--ui-surface-subtle) !important;
}

html.ilink-app body[data-app-page="gallery"] .gc-cover::after,
html.ilink-app body[data-app-page="gallery"] .gc-cover-overlay {
  display: none !important;
}

html.ilink-app body[data-app-page="gallery"] .gc-cover img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform: none !important;
}

html.ilink-app body[data-app-page="gallery"] .gc-card:hover .gc-cover img {
  transform: none !important;
}

html.ilink-app body[data-app-page="gallery"] .gc-content {
  display: flex !important;
  min-height: 210px;
  flex-direction: column;
  padding: 18px !important;
}

html.ilink-app body[data-app-page="gallery"] .gc-title {
  margin: 12px 0 6px !important;
  color: var(--ui-text) !important;
  font-family: var(--ui-font) !important;
  font-size: 17px !important;
  font-weight: 650 !important;
  line-height: 1.4 !important;
}

html.ilink-app body[data-app-page="gallery"] .gc-desc {
  display: -webkit-box;
  margin: 0 !important;
  overflow: hidden;
  color: var(--ui-text-secondary) !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

html.ilink-app body[data-app-page="gallery"] .gc-stats {
  margin-top: auto !important;
  color: var(--ui-text-muted) !important;
  border-color: var(--ui-border) !important;
}

/* Competition catalogue keeps information dense and comparable. */
html.ilink-app body[data-app-page="competitions"] .competition-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)) !important;
  gap: 20px !important;
  margin: 0 !important;
}

html.ilink-app body[data-app-page="competitions"] .competition-grid > [class*="col-"] {
  width: auto !important;
  padding: 0 !important;
}

html.ilink-app body[data-app-page="competitions"] .competition-card {
  display: flex !important;
  min-height: 300px;
  flex-direction: column;
  padding: 20px !important;
}

html.ilink-app body[data-app-page="competitions"] .competition-card::before {
  content: none !important;
}

html.ilink-app body[data-app-page="competitions"] .competition-card__header,
html.ilink-app body[data-app-page="competitions"] .competition-card__foot {
  display: flex !important;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

html.ilink-app body[data-app-page="competitions"] .competition-card__title {
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1.4 !important;
}

html.ilink-app body[data-app-page="competitions"] .competition-card__levels,
html.ilink-app body[data-app-page="competitions"] .competition-card__tags {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px !important;
}

html.ilink-app body[data-app-page="competitions"] .competition-card__meta,
html.ilink-app body[data-app-page="competitions"] .competition-card__desc {
  color: var(--ui-text-secondary) !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}

html.ilink-app body[data-app-page="competitions"] .competition-card__divider {
  margin: auto 0 14px !important;
  border-color: var(--ui-border) !important;
}

html.ilink-app body[data-app-page="competitions"] .competition-card__season {
  color: var(--ui-text-muted) !important;
  font-size: 12px !important;
}

html.ilink-app body[data-app-page="competitions"] .competition-card__link {
  min-height: 34px !important;
  padding: 0 11px !important;
  color: var(--ui-text) !important;
  background: var(--ui-surface-subtle) !important;
  border-color: transparent !important;
}

/* Public detail pages use a readable column and consistent load/error states. */
html.ilink-app body[data-app-page="team-detail"] .team-detail-shell,
html.ilink-app body[data-app-page="teacher-detail"] .teacher-detail-shell,
html.ilink-app body[data-app-page="asset-detail"] .asset-detail-shell,
html.ilink-app body[data-app-page="community-article"] .community-article-shell {
  width: min(100% - 48px, 960px) !important;
  margin: 0 auto !important;
  padding: 32px 0 56px !important;
}

/* 成果详情与社区文章详情都承载大图/富文本正文，卡片与列表页内容区同宽（--container-max: 1200px） */
html.ilink-app body[data-app-page="asset-detail"] .asset-detail-shell,
html.ilink-app body[data-app-page="community-article"] .community-article-shell {
  width: min(100% - 48px, 1200px) !important;
}

/* 详情页最上面是「← 返回」，它上面不该再空一段：
   外层容器（.il-page-wrapper / .main-content）和 shell 的上内边距一起收掉，下内边距保留。 */
html.ilink-app body:is([data-app-page="team-detail"],[data-app-page="teacher-detail"],
                       [data-app-page="asset-detail"],[data-app-page="community-article"]) .il-page-wrapper {
  padding-top: 12px !important;
}
html.ilink-app body:is([data-app-page="team-detail"],[data-app-page="teacher-detail"],
                       [data-app-page="asset-detail"],[data-app-page="community-article"])
  :is(.team-detail-shell, .teacher-detail-shell, .asset-detail-shell, .community-article-shell) {
  padding-top: 0 !important;
}
/* 导师详情页外层用的是 .teacher-detail-main（detail-refresh.css 给了 32px 上内边距），
   那份样式在本文件之后加载，靠 !important 直接盖住 */
html.ilink-app body[data-app-page="teacher-detail"] .teacher-detail-main {
  padding-top: 12px !important;
}

html.ilink-app .detail-view,
html.ilink-app .teacher-detail-card,
html.ilink-app .community-article-card,
html.ilink-app .community-article-comments,
html.ilink-app .share-card {
  color: var(--ui-text) !important;
  background: var(--ui-surface) !important;
  border: 1px solid var(--ui-border) !important;
  border-radius: var(--ui-radius-surface) !important;
  box-shadow: none !important;
}

html.ilink-app .detail-view__header,
html.ilink-app .teacher-detail__header,
html.ilink-app .community-article-card__header {
  padding: 24px !important;
  background: transparent !important;
  border-bottom: 1px solid var(--ui-border) !important;
}

html.ilink-app .detail-view__title,
html.ilink-app .community-article__title,
html.ilink-app .project-title {
  color: var(--ui-text) !important;
  font-family: var(--ui-font) !important;
  font-weight: 650 !important;
  letter-spacing: -0.03em;
}

html.ilink-app .detail-view__body,
html.ilink-app .teacher-detail__body,
html.ilink-app .community-article-card__body,
html.ilink-app .community-article-comments__body {
  padding: 24px !important;
}

html.ilink-app .detail-view__row,
html.ilink-app .teacher-detail__apply {
  border-color: var(--ui-border) !important;
}

html.ilink-app body[data-app-page="team-detail"] .team-detail-status {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  gap: 6px;
  width: fit-content;
  padding: 0 8px;
  color: var(--ui-text-secondary);
  background: var(--ui-surface-subtle);
  border: 1px solid var(--ui-border);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}

html.ilink-app body[data-app-page="team-detail"] .team-detail-status::before {
  width: 6px;
  height: 6px;
  background: var(--ui-text-muted);
  border-radius: 50%;
  content: "";
}

html.ilink-app body[data-app-page="team-detail"] .team-detail-status.is-open {
  color: var(--ui-success);
  background: var(--ui-success-soft);
  border-color: #bbf7d0;
}

html.ilink-app body[data-app-page="team-detail"] .team-detail-status.is-open::before {
  background: var(--ui-success);
}

html.ilink-app .detail-load-state,
html.ilink-app .asset-detail-state,
html.ilink-app .community-article-state {
  color: var(--ui-text-secondary) !important;
  background: var(--ui-surface) !important;
  border: 1px solid var(--ui-border) !important;
  border-radius: var(--ui-radius-surface) !important;
  box-shadow: none !important;
}

html.ilink-app body[data-app-page="team-publish"] .il-surface {
  width: min(100%, 760px);
  margin: 0 auto;
  padding: 28px !important;
  color: var(--ui-text) !important;
  background: var(--ui-surface) !important;
  border: 1px solid var(--ui-border) !important;
  border-radius: var(--ui-radius-surface) !important;
  box-shadow: none !important;
}

html.ilink-app body[data-app-page="team-publish"] .il-form-label {
  color: var(--ui-text) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

html.ilink-app body[data-app-page="team-chat"] .chat-page {
  min-height: calc(100vh - 152px);
  overflow: hidden;
  color: var(--ui-text) !important;
  background: var(--ui-surface) !important;
  border: 1px solid var(--ui-border) !important;
  border-radius: var(--ui-radius-panel) !important;
  box-shadow: none !important;
}

html.ilink-app body[data-app-page="team-chat"] .chat-header,
html.ilink-app body[data-app-page="team-chat"] .chat-sidebar {
  background: var(--ui-surface-subtle) !important;
  border-color: var(--ui-border) !important;
}

html.ilink-app body[data-app-page="team-chat"] .chat-textarea,
html.ilink-app body[data-app-page="team-chat"] .chat-input-wrapper {
  color: var(--ui-text) !important;
  background: var(--ui-surface) !important;
  border-color: var(--ui-border) !important;
  box-shadow: none !important;
}

/* Public portal breakpoints: tablet keeps two-column discovery grids. */
@media (min-width: 768px) and (max-width: 1024px) {
  html.ilink-app body[data-app-page="team-market"] .content-section,
  html.ilink-app body[data-app-page="teacher-wall"] .content-section,
  html.ilink-app body[data-app-page="team-market"] .toolbar-section,
  html.ilink-app body[data-app-page="teacher-wall"] .toolbar-section,
  html.ilink-app body[data-app-page="community"] .il-page-wrapper,
  html.ilink-app body[data-app-page="gallery"] .il-page-wrapper,
  html.ilink-app body[data-app-page="competitions"] .container.main-content {
    width: min(100% - 48px, 1200px) !important;
    max-width: 1200px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  html.ilink-app body[data-app-page="team-market"] .hero-section,
  html.ilink-app body[data-app-page="teacher-wall"] .hero-section {
    width: min(100% - 48px, 1200px) !important;
    max-width: 1200px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  html.ilink-app body[data-app-page="community"] .il-hero,
  html.ilink-app body[data-app-page="gallery"] .il-hero,
  html.ilink-app body[data-app-page="competitions"] .il-hero {
    width: 100% !important;
    max-width: none !important;
  }

  html.ilink-app body[data-app-page="team-market"] #teamList,
  html.ilink-app body[data-app-page="teacher-wall"] #teacherList,
  html.ilink-app body[data-app-page="gallery"] .gc-grid,
  html.ilink-app body[data-app-page="competitions"] .competition-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobile public pages: one column, touch-first controls and no page overflow. */
@media (max-width: 767.98px) {
  html.ilink-app body[data-app-page="team-market"],
  html.ilink-app body[data-app-page="teacher-wall"],
  html.ilink-app body[data-app-page="community"],
  html.ilink-app body[data-app-page="competitions"],
  html.ilink-app body[data-app-page="gallery"] {
    min-width: 0;
    font-size: 15px;
    line-height: 1.7;
  }

  html.ilink-app body[data-app-page="team-market"] .il-page-wrapper,
  html.ilink-app body[data-app-page="teacher-wall"] .il-page-wrapper,
  html.ilink-app body[data-app-page="community"] .il-page-wrapper,
  html.ilink-app body[data-app-page="gallery"] .il-page-wrapper,
  html.ilink-app body[data-app-page="competitions"] .container.main-content,
  html.ilink-app body[data-app-page="team-detail"] .team-detail-shell,
  html.ilink-app body[data-app-page="teacher-detail"] .teacher-detail-shell,
  html.ilink-app body[data-app-page="asset-detail"] .asset-detail-shell,
  html.ilink-app body[data-app-page="community-article"] .community-article-shell {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 16px !important;
    padding-left: 16px !important;
    box-sizing: border-box !important;
  }

  html.ilink-app body[data-app-page="team-market"] .content-section,
  html.ilink-app body[data-app-page="teacher-wall"] .content-section,
  html.ilink-app body[data-app-page="team-market"] .toolbar-section,
  html.ilink-app body[data-app-page="teacher-wall"] .toolbar-section {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    box-sizing: border-box !important;
  }

  html.ilink-app body[data-app-page="team-market"] .hero-section,
  html.ilink-app body[data-app-page="teacher-wall"] .hero-section {
    width: 100% !important;
    max-width: none !important;
    padding: 18px 0 20px !important;
  }

  html.ilink-app body[data-app-page="community"] .il-hero,
  html.ilink-app body[data-app-page="gallery"] .il-hero,
  html.ilink-app body[data-app-page="competitions"] .il-hero {
    width: 100% !important;
    max-width: none !important;
    padding: 18px 0 20px !important;
  }

  html.ilink-app body[data-app-page="team-market"] .hero-title,
  html.ilink-app body[data-app-page="teacher-wall"] .hero-title,
  html.ilink-app body[data-app-page="community"] .il-hero__title,
  html.ilink-app body[data-app-page="gallery"] .il-hero__title,
  html.ilink-app body[data-app-page="competitions"] .il-hero__title {
    font-size: 28px !important;
    line-height: 1.5 !important;
  }

  html.ilink-app body[data-app-page="team-market"] .hero-desc,
  html.ilink-app body[data-app-page="teacher-wall"] .hero-desc,
  html.ilink-app body[data-app-page="community"] .il-hero__desc,
  html.ilink-app body[data-app-page="gallery"] .il-hero__desc,
  html.ilink-app body[data-app-page="competitions"] .il-hero__desc {
    font-size: 15px !important;
    line-height: 1.7 !important;
  }

  html.ilink-app body[data-app-page="team-market"] #teamList,
  html.ilink-app body[data-app-page="teacher-wall"] #teacherList,
  html.ilink-app body[data-app-page="gallery"] .gc-grid,
  html.ilink-app body[data-app-page="competitions"] .competition-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html.ilink-app body[data-app-page="team-market"] .team-card,
  html.ilink-app body[data-app-page="teacher-wall"] .mentor-card-shell,
  html.ilink-app body[data-app-page="competitions"] .competition-card {
    min-height: 0;
    padding: 20px !important;
  }

  html.ilink-app body[data-app-page="team-market"] .team-card .card-title,
  html.ilink-app body[data-app-page="teacher-wall"] .mentor-name,
  html.ilink-app body[data-app-page="community"] .article-card .card-title,
  html.ilink-app body[data-app-page="competitions"] .competition-card__title,
  html.ilink-app body[data-app-page="gallery"] .gc-title {
    font-size: 18px !important;
  }

  html.ilink-app body[data-app-page="teacher-wall"] .mentor-avatar {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
  }

  html.ilink-app body[data-app-page="teacher-wall"] .mentor-avatar .avatar-fallback {
    font-size: 17px;
  }

  html.ilink-app body[data-app-page="community"] .article-card {
    padding: 20px 24px !important;
  }

  html.ilink-app body[data-app-page="community"] .article-card .card-footer {
    align-items: center;
    flex-flow: row wrap;
  }

  html.ilink-app body[data-app-page="community"] .article-card .card-actions,
  html.ilink-app body[data-app-page="community"] .article-card .il-feed-actions {
    display: flex !important;
    width: 100%;
    min-width: 0;
    align-items: center;
    justify-content: flex-start;
    gap: 4px !important;
  }

  html.ilink-app body[data-app-page="community"] .article-card .action-btn {
    min-width: 44px;
    min-height: 44px;
  }

  html.ilink-app body[data-app-page="community"] .article-card .read-more-btn {
    width: 100%;
    min-height: 44px !important;
    flex: 0 0 100%;
    justify-content: center;
  }

  html.ilink-app body[data-app-page="gallery"] .gc-card {
    width: 100% !important;
    max-width: none !important;
  }

  html.ilink-app body[data-app-page="gallery"] .gc-cover {
    aspect-ratio: auto !important;
    height: 160px !important;
  }

  html.ilink-app body[data-app-page="gallery"] .gc-content {
    min-height: 0;
    padding: 20px !important;
  }

  html.ilink-app body[data-app-page="competitions"] .competition-card__header,
  html.ilink-app body[data-app-page="competitions"] .competition-card__foot {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  html.ilink-app .detail-view__header,
  html.ilink-app .teacher-detail__header,
  html.ilink-app .community-article-card__header,
  html.ilink-app .detail-view__body,
  html.ilink-app .teacher-detail__body,
  html.ilink-app .community-article-card__body,
  html.ilink-app .community-article-comments__body {
    padding: 18px !important;
  }

  html.ilink-app body[data-app-page="team-market"] .team-card .card-footer,
  html.ilink-app body[data-app-page="teacher-wall"] .mentor-footer {
    flex-wrap: wrap;
  }

  html.ilink-app body[data-app-page="team-market"] :is(button, .il-search-bar__btn, .page-link),
  html.ilink-app body[data-app-page="teacher-wall"] :is(button, .il-search-bar__btn, .page-link),
  html.ilink-app body[data-app-page="community"] :is(button, .il-search-bar__btn, .read-more-btn, .page-link),
  html.ilink-app body[data-app-page="competitions"] :is(button, .competition-card__link, .page-link),
  html.ilink-app body[data-app-page="gallery"] :is(button, .il-search-bar__btn, .page-link) {
    min-width: 44px;
    min-height: 44px;
  }

  html.ilink-app body[data-app-page="team-market"] .particle-canvas,
  html.ilink-app body[data-app-page="teacher-wall"] .particle-canvas,
  html.ilink-app body[data-app-page="community"] .particle-canvas,
  html.ilink-app body[data-app-page="competitions"] .particle-canvas,
  html.ilink-app body[data-app-page="gallery"] .particle-canvas {
    display: none !important;
  }
}

@media (max-width: 479.98px) {
  html.ilink-app body[data-app-page="team-market"] .team-card,
  html.ilink-app body[data-app-page="teacher-wall"] .mentor-card-shell,
  html.ilink-app body[data-app-page="community"] .article-card,
  html.ilink-app body[data-app-page="competitions"] .competition-card,
  html.ilink-app body[data-app-page="gallery"] .gc-content {
    padding: 16px !important;
  }

  html.ilink-app body[data-app-page="community"] .article-card .action-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}

@media (hover: none), (pointer: coarse) {
  html.ilink-app body[data-app-page="team-market"] .team-card:hover,
  html.ilink-app body[data-app-page="teacher-wall"] .mentor-card-shell:hover,
  html.ilink-app body[data-app-page="community"] .article-card:hover,
  html.ilink-app body[data-app-page="competitions"] .competition-card:hover,
  html.ilink-app body[data-app-page="gallery"] .gc-card:hover {
    transform: none !important;
    box-shadow: none !important;
  }

  html.ilink-app body[data-app-page="team-market"] .team-card:active,
  html.ilink-app body[data-app-page="teacher-wall"] .mentor-card-shell:active,
  html.ilink-app body[data-app-page="community"] .article-card:active,
  html.ilink-app body[data-app-page="competitions"] .competition-card:active,
  html.ilink-app body[data-app-page="gallery"] .gc-card:active {
    background: color-mix(in srgb, var(--ui-surface) 94%, var(--ui-text)) !important;
    transition-duration: 150ms !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.ilink-app body[data-app-page="team-market"] *,
  html.ilink-app body[data-app-page="teacher-wall"] *,
  html.ilink-app body[data-app-page="community"] *,
  html.ilink-app body[data-app-page="competitions"] *,
  html.ilink-app body[data-app-page="gallery"] * {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* modal 居中 */
html.ilink-app body[data-app-page="team-detail"] .modal.show {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}



/* ====== Plan A: modern unified search bar (team-market, teacher-wall, gallery) ====== */
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 56px !important;
  padding: 6px !important;
  background: #ffffff !important;
  border: 1px solid #e8e8e6 !important;
  border-radius: 28px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 1px 2px rgba(0,0,0,0.02) !important;
  transition: box-shadow .25s ease, border-color .25s ease;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar:focus-within {
  border-color: #c7d2fe !important;
  box-shadow: 0 0 0 4px rgba(37,99,235,0.06), 0 2px 8px rgba(0,0,0,0.06) !important;
}

/* input wrap */
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__input-wrap {
  display: flex !important;
  align-items: center !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
  height: 44px !important;
  padding: 0 14px 0 6px !important;
  border: none !important;
  border-radius: 10px !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: background .2s ease;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__input-wrap:focus-within {
  background: #f8fafc !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__input-wrap svg {
  position: static !important;
  transform: none !important;
  top: auto !important;
  left: auto !important;
  width: 18px !important;
  height: 18px !important;
  color: #6b7280 !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-icon-search-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  margin: 0 6px 0 0 !important;
  border: none !important;
  border-radius: 50% !important;
  background: transparent !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  transition: background .2s ease !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-icon-search-btn:hover {
  background: #f3f4f6 !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-icon-search-btn:hover svg {
  color: #1f2937 !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__input-wrap input,
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__input-wrap .il-search-field__input {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  font-size: 14px !important;
  color: #1f2937 !important;
  height: auto !important;
  padding: 0 12px 0 0 !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__input-wrap input::placeholder {
  color: #9ca3af !important;
}

/* custom select */
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__select {
  position: relative !important;
  height: 44px !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 10px !important;
  background: transparent !important;
  cursor: pointer !important;
  user-select: none !important;
  transition: background .2s ease;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__select:hover {
  background: #f3f4f6 !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__select.cs-inited select {
  position: absolute !important;
  inset: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  width: 100% !important;
  height: 100% !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
}

/* hide legacy native-select triangle arrow (search-bar.css ::after), replaced by injected .cs-chevron */
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__select.cs-inited::after {
  display: none !important;
}

/* vertical dividers */
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__input-wrap + .il-search-bar__select::before,
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__select + .il-search-bar__select::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 1px !important;
  height: 24px !important;
  background: #ededeb !important;
  z-index: 1 !important;
}

/* custom select trigger (injected by JS) */
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .cs-trigger {
  display: flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  height: 44px !important;
  padding: 0 14px !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .cs-label {
  font-size: 13px !important;
  color: #9ca3af !important;
  margin-right: 6px !important;
  font-weight: 400 !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .cs-value {
  flex: 0 0 auto !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #374151 !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .cs-chevron {
  margin-left: 10px !important;
  width: 14px !important;
  height: 14px !important;
  color: #9ca3af !important;
  flex-shrink: 0 !important;
  transition: transform .25s ease !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__select.open .cs-chevron {
  transform: rotate(180deg) !important;
}

/* dropdown panel */
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .cs-dropdown {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 0 !important;
  min-width: 100% !important;
  background: #ffffff !important;
  border: 1px solid #e8e8e6 !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 32px rgba(0,0,0,0.12), 0 2px 8px rgba(0,0,0,0.06) !important;
  padding: 6px !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(-6px) !important;
  transition: opacity .22s ease, visibility .22s ease, transform .22s cubic-bezier(.4,0,.2,1) !important;
  z-index: 30 !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__select.open .cs-dropdown {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .cs-item {
  padding: 9px 12px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  cursor: pointer !important;
  color: #374151 !important;
  transition: background .15s ease !important;
  white-space: nowrap !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .cs-item:hover {
  background: #f3f4f6 !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .cs-item.active {
  background: #eff6ff !important;
  color: #2563eb !important;
  font-weight: 600 !important;
}

/* buttons */
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  height: 44px !important;
  padding: 0 22px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  border: none !important;
  transition: all .2s ease !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__btn svg {
  width: 16px !important;
  height: 16px !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__btn--primary {
  background: #1f2937 !important;
  color: #ffffff !important;
  margin-left: 8px !important;
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  font-size: 0 !important;
  flex-shrink: 0 !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__btn--primary svg {
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__btn--primary:hover {
  background: #374151 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 16px rgba(31,41,55,0.25) !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__btn--primary:active {
  transform: translateY(0) !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__btn--ghost {
  background: transparent !important;
  color: #374151 !important;
  border: 1px solid #d1d5db !important;
  margin-left: 8px !important;
  border-radius: 22px !important;
  height: 44px !important;
  padding: 0 18px !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__btn--ghost:hover {
  background: #f9fafb !important;
  border-color: #9ca3af !important;
  color: #1f2937 !important;
}

/* hide spacer */
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__spacer {
  display: none !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__btn--primary {
  display: none !important;
}



/* ====== Plan A: competitions page (track tabs above + combo search) ====== */
html.ilink-app body[data-app-page="competitions"] .il-search-bar.competition-toolbar {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 56px !important;
  padding: 6px !important;
  background: #ffffff !important;
  border: 1px solid #e8e8e6 !important;
  border-radius: 28px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 1px 2px rgba(0,0,0,0.02) !important;
  transition: box-shadow .25s ease, border-color .25s ease;
  margin-bottom: 24px !important;
}
html.ilink-app body[data-app-page="competitions"] .il-search-bar.competition-toolbar:focus-within {
  border-color: #c7d2fe !important;
  box-shadow: 0 0 0 4px rgba(37,99,235,0.06), 0 2px 8px rgba(0,0,0,0.06) !important;
}
html.ilink-app body[data-app-page="competitions"] .competition-toolbar__search {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
}
html.ilink-app body[data-app-page="competitions"] .il-search-field--combo {
  display: flex !important;
  align-items: center !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
  height: 44px !important;
  padding: 0 14px 0 6px !important;
  border: none !important;
  border-radius: 10px !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: background .2s ease;
  gap: 0 !important;
}
html.ilink-app body[data-app-page="competitions"] .il-search-field--combo:focus-within {
  background: #f8fafc !important;
}
html.ilink-app body[data-app-page="competitions"] .il-search-field--combo .il-search-field__icon {
  position: static !important;
  transform: none !important;
  top: auto !important;
  left: auto !important;
  width: 18px !important;
  height: 18px !important;
  color: #6b7280 !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}
html.ilink-app body[data-app-page="competitions"] .il-icon-search-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  margin: 0 6px 0 0 !important;
  border: none !important;
  border-radius: 50% !important;
  background: transparent !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  transition: background .2s ease !important;
}
html.ilink-app body[data-app-page="competitions"] .il-icon-search-btn:hover {
  background: #f3f4f6 !important;
}
html.ilink-app body[data-app-page="competitions"] .il-icon-search-btn:hover svg {
  color: #1f2937 !important;
}
html.ilink-app body[data-app-page="competitions"] .il-search-field--combo .il-search-field__input {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  font-size: 14px !important;
  color: #1f2937 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 0 12px 0 0 !important;
}
html.ilink-app body[data-app-page="competitions"] .il-search-field--combo .il-search-field__input::placeholder {
  color: #9ca3af !important;
}
html.ilink-app body[data-app-page="competitions"] .il-search-field--combo .il-search-field__action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  margin: 0 4px 0 12px !important;
  border-radius: 50% !important;
  font-size: 0 !important;
  cursor: pointer !important;
  border: none !important;
  background: #1f2937 !important;
  color: #ffffff !important;
  transition: all .2s ease !important;
  box-shadow: none !important;
  flex-shrink: 0 !important;
}
html.ilink-app body[data-app-page="competitions"] .il-search-field--combo .il-search-field__action:hover {
  background: #374151 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 16px rgba(31,41,55,0.25) !important;
}
html.ilink-app body[data-app-page="competitions"] .competition-track-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin-bottom: 14px !important;
}
html.ilink-app body[data-app-page="competitions"] .competition-track-tabs {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
}
html.ilink-app body[data-app-page="competitions"] .competition-track-tab {
  padding: 8px 16px !important;
  border-radius: 20px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  border: 1px solid #e8e8e6 !important;
  background: #ffffff !important;
  color: #6b7280 !important;
  transition: all .2s ease !important;
  box-shadow: none !important;
  line-height: 1.4 !important;
  height: auto !important;
}
html.ilink-app body[data-app-page="competitions"] .competition-track-tab:hover {
  background: #f9fafb !important;
  border-color: #d1d5db !important;
  color: #1f2937 !important;
}
html.ilink-app body[data-app-page="competitions"] .competition-track-tab.active {
  background: #1f2937 !important;
  color: #ffffff !important;
  border-color: #1f2937 !important;
  font-weight: 600 !important;
}
html.ilink-app body[data-app-page="competitions"] .il-search-field--combo .il-search-field__action {
  display: none !important;
}



/* ====== Plan A: community channel pills + solid action button ====== */
html.ilink-app body[data-app-page="community"] .community-channel-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin-bottom: 14px !important;
}
html.ilink-app body[data-app-page="community"] #channelTabs.il-search-bar__tags {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}
html.ilink-app body[data-app-page="community"] .il-search-bar__tag {
  padding: 8px 16px !important;
  border-radius: 20px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  border: 1px solid #e8e8e6 !important;
  background: #ffffff !important;
  color: #6b7280 !important;
  transition: all .2s ease !important;
  box-shadow: none !important;
  height: auto !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}
html.ilink-app body[data-app-page="community"] .il-search-bar__tag:hover {
  background: #f9fafb !important;
  border-color: #d1d5db !important;
  color: #1f2937 !important;
}
html.ilink-app body[data-app-page="community"] .il-search-bar__tag.active {
  background: #1f2937 !important;
  color: #ffffff !important;
  border-color: #1f2937 !important;
  font-weight: 600 !important;
}
/* solid 实心主操作按钮（写文章等，区别于被隐藏的搜索primary） */
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__btn--solid {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  height: 44px !important;
  padding: 0 20px !important;
  border-radius: 22px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  border: 1px solid var(--ui-border-strong, #d7d8db) !important;
  background: var(--ui-surface-subtle, #f1f1f2) !important;
  color: var(--ui-text, #282a2f) !important;
  margin-left: 8px !important;
  white-space: nowrap !important;
  transition: all .2s ease !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__btn--solid svg {
  width: 16px !important;
  height: 16px !important;
}
html.ilink-app body:is([data-app-page="team-market"],[data-app-page="teacher-wall"],[data-app-page="gallery"],[data-app-page="community"],[data-app-page="competitions"]) .il-search-bar .il-search-bar__btn--solid:hover {
  background: var(--ui-border, #e5e5e7) !important;
  transform: none !important;
  box-shadow: none !important;
}
/* community 刷新按钮(secondary改ghost)统一描边胶囊 */
html.ilink-app body[data-app-page="community"] .il-search-bar .il-search-bar__btn--secondary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 44px !important;
  padding: 0 18px !important;
  border-radius: 22px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  background: transparent !important;
  color: #374151 !important;
  border: 1px solid #d1d5db !important;
  margin-left: 8px !important;
  white-space: nowrap !important;
  transition: all .2s ease !important;
}
html.ilink-app body[data-app-page="community"] .il-search-bar .il-search-bar__btn--secondary:hover {
  background: #f9fafb !important;
  border-color: #9ca3af !important;
  color: #1f2937 !important;
}

/* ====== Plan A: 分类pill收进单行扁胶囊（与组队大厅一致，一行） ====== */
html.ilink-app body:is([data-app-page="competitions"],[data-app-page="community"]) .il-search-bar .competition-track-row,
html.ilink-app body:is([data-app-page="competitions"],[data-app-page="community"]) .il-search-bar .community-channel-row {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border-left: 1px solid #e8e8e6 !important;
  border-bottom: none !important;
  flex-shrink: 0 !important;
  height: 44px !important;
  max-width: 64% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
html.ilink-app body:is([data-app-page="competitions"],[data-app-page="community"]) .il-search-bar .competition-track-row::-webkit-scrollbar,
html.ilink-app body:is([data-app-page="competitions"],[data-app-page="community"]) .il-search-bar .community-channel-row::-webkit-scrollbar {
  display: none !important;
}
html.ilink-app body:is([data-app-page="competitions"],[data-app-page="community"]) .competition-track-tabs,
html.ilink-app body:is([data-app-page="competitions"],[data-app-page="community"]) #channelTabs.il-search-bar__tags {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: nowrap !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  flex-shrink: 0 !important;
}
html.ilink-app body:is([data-app-page="competitions"],[data-app-page="community"]) .competition-track-tab,
html.ilink-app body:is([data-app-page="competitions"],[data-app-page="community"]) .il-search-bar__tag {
  padding: 6px 12px !important;
  border-radius: 16px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  margin: 0 !important;
  height: auto !important;
  line-height: 1.4 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}
html.ilink-app body[data-app-page="competitions"] .competition-toolbar__search {
  flex: 1 1 auto !important;
  min-width: 160px !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* ============================================================
   详情/表单页排版优化（发布表单 + 组队/导师详情）
   ============================================================ */

/* ---------- A. 发布组队需求表单 ---------- */
/* 页面头部收一收：这是表单页，重点应该在表单上，不该被 hero 顶掉半屏 */
/* 页头下面的空白来自两处：.il-page-wrapper 的 32px 上内边距，以及全局
   `.il-hero { padding: 40px 0 24px }`。表单页不需要这两段留白，一起收掉。 */
html.ilink-app body[data-app-page="team-publish"] .il-page-wrapper {
  padding-top: 12px !important;
}
html.ilink-app body[data-app-page="team-publish"] .il-hero {
  padding: 0 0 16px !important;
}
html.ilink-app body[data-app-page="team-publish"] .tp-hero {
  margin-bottom: 20px !important;
}
html.ilink-app body[data-app-page="team-publish"] .tp-hero .il-hero-title {
  font-size: clamp(1.6rem, 3.4vw, 2rem) !important;
}
html.ilink-app body[data-app-page="team-publish"] .tp-hero .il-hero-desc {
  font-size: 1rem !important;
}

html.ilink-app body[data-app-page="team-publish"] .il-surface {
  width: min(100%, 860px) !important;
  margin: 0 auto !important;
  padding: 4px 40px 28px !important;
  border-radius: 20px !important;
  box-shadow: 0 8px 30px rgba(17,24,39,0.05) !important;
}
/* 表单卡片不是内容卡：跟 hover 上浮会把整张表单抬起来，观感很怪 */
html.ilink-app body[data-app-page="team-publish"] .il-surface:hover {
  transform: none !important;
  box-shadow: 0 8px 30px rgba(17,24,39,0.05) !important;
}

/* 字段分组：六个字段糊成一整列会看不出层次，按「基本信息 / 队伍设置」切开 */
html.ilink-app body[data-app-page="team-publish"] .tp-section {
  padding: 22px 0 !important;
  border-bottom: 1px solid #f0efec !important;
}
html.ilink-app body[data-app-page="team-publish"] .tp-section:first-child { padding-top: 24px !important; }
html.ilink-app body[data-app-page="team-publish"] .tp-section__title {
  margin: 0 0 14px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1f2937 !important;
}
html.ilink-app body[data-app-page="team-publish"] .tp-section__hint {
  margin: 0 0 18px !important;
  font-size: 12.5px !important;
  color: #9ca3af !important;
}

html.ilink-app body[data-app-page="team-publish"] .tp-field { margin-bottom: 16px !important; }
html.ilink-app body[data-app-page="team-publish"] .tp-field:last-child { margin-bottom: 0 !important; }

/* 短字段并排（分类 / 人数 / 截止日期），长字段独占一行 */
html.ilink-app body[data-app-page="team-publish"] .tp-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-bottom: 16px !important;
}
html.ilink-app body[data-app-page="team-publish"] .tp-grid .tp-field { margin-bottom: 0 !important; }

html.ilink-app body[data-app-page="team-publish"] .tp-req {
  margin-left: 2px !important;
  color: #dc2626 !important;
  font-weight: 600 !important;
}
html.ilink-app body[data-app-page="team-publish"] .tp-optional {
  margin-left: 4px !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #9ca3af !important;
}
html.ilink-app body[data-app-page="team-publish"] .tp-field__hint {
  margin: 7px 0 0 !important;
  font-size: 12.5px !important;
  color: #9ca3af !important;
}

html.ilink-app body[data-app-page="team-publish"] .il-form-label {
  display: block !important;
  margin-bottom: 8px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1f2937 !important;
}
/* 权重说明：layout.css 里那条 `.ilink-app input:not([type=checkbox])...`（五个 :not，
   每个都算一个属性选择器）权重是 (0,6,1)，只写 body[data-app-page] .il-form-input 是 (0,3,2)，
   会被它的 border-radius / border-color / min-height 压住，所以这里把祖先链写全到 (0,6,2)。
   textarea 和 select 那边 layout.css 只用了单类，不受影响。 */
html.ilink-app body[data-app-page="team-publish"] .tp-card .tp-section .tp-field .il-form-input,
html.ilink-app body[data-app-page="team-publish"] .il-form-select {
  width: 100% !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 15px !important;
  border: 1px solid #e3e4e0 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  font-size: 14.5px !important;
  color: #1f2937 !important;
  box-shadow: none !important;
  transition: border-color .18s ease, box-shadow .18s ease !important;
  box-sizing: border-box !important;
}
/* 权重必须压过上面那条 46px 的输入框规则（那条为了赢过 layout.css 抬到了 (0,6,2)），
   否则 textarea 会被钉成一行高 */
html.ilink-app body[data-app-page="team-publish"] .tp-card .tp-section .tp-field textarea.il-form-input {
  height: auto !important;
  min-height: 180px !important;
  padding: 14px 15px !important;
  line-height: 1.75 !important;
  resize: vertical !important;
}
html.ilink-app body[data-app-page="team-publish"] select.il-form-select {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 40px !important;
}
html.ilink-app body[data-app-page="team-publish"] .il-form-input::placeholder { color: #b4b5b0 !important; }
html.ilink-app body[data-app-page="team-publish"] .il-form-input:focus,
html.ilink-app body[data-app-page="team-publish"] .il-form-select:focus {
  outline: none !important;
  border-color: #1f2937 !important;
  box-shadow: 0 0 0 3px rgba(31,41,55,0.08) !important;
}

/* 标签行：左标题右注解（字数统计 / 一直开放招募） */
html.ilink-app body[data-app-page="team-publish"] .tp-label-row {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 8px !important;
}
html.ilink-app body[data-app-page="team-publish"] .tp-label-row .il-form-label,
html.ilink-app body[data-app-page="team-publish"] .tp-label-row .tp-section__title {
  margin-bottom: 0 !important;
}
html.ilink-app body[data-app-page="team-publish"] .tp-counter,
html.ilink-app body[data-app-page="team-publish"] .tp-label-note {
  flex: 0 0 auto !important;
  font-size: 12.5px !important;
  color: #9ca3af !important;
  font-variant-numeric: tabular-nums !important;
}

/* 单选芯片：分类与截止日期共用 */
html.ilink-app body[data-app-page="team-publish"] .tp-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}
html.ilink-app body[data-app-page="team-publish"] .tp-chip {
  flex: 1 1 auto !important;
  min-width: 120px !important;
  height: 52px !important;
  padding: 0 22px !important;
  font-family: inherit !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  color: #1f2937 !important;
  background: #ffffff !important;
  border: 1px solid #e3e4e0 !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease !important;
}
html.ilink-app body[data-app-page="team-publish"] .tp-chip:hover {
  border-color: #c9cac6 !important;
  background: #fafaf9 !important;
}
html.ilink-app body[data-app-page="team-publish"] .tp-chip:focus-visible {
  outline: 2px solid #1f2937 !important;
  outline-offset: 2px !important;
}
/* 选中态：深色实底 + 白字，和全站主按钮同一套语言 */
html.ilink-app body[data-app-page="team-publish"] .tp-chip.is-active {
  color: #ffffff !important;
  background: #282a2f !important;
  border-color: #282a2f !important;
  font-weight: 600 !important;
}

/* 截止日期的时间跨度是“快选”，做成胶囊更好和“分类”区分 */
html.ilink-app body[data-app-page="team-publish"] .tp-chips--period .tp-chip {
  flex: 0 0 auto !important;
  min-width: 0 !important;
  height: 44px !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
}

html.ilink-app body[data-app-page="team-publish"] .tp-field--custom-date {
  margin-top: 12px !important;
}
html.ilink-app body[data-app-page="team-publish"] .tp-field--custom-date[hidden] {
  display: none !important;
}
html.ilink-app body[data-app-page="team-publish"] .tp-field--custom-date .il-form-input {
  max-width: 280px !important;
}

/* 两列：人数 + 技能 */
html.ilink-app body[data-app-page="team-publish"] .tp-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* 底部操作区：与最后一组字段用留白隔开，不再叠一条分隔线（上面那组已经收过边了） */
html.ilink-app body[data-app-page="team-publish"] .tp-actions {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  padding-top: 22px !important;
}
html.ilink-app body[data-app-page="team-publish"] .il-btn {
  height: 46px !important;
  padding: 0 24px !important;
  border-radius: 12px !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
}

/* 平板：短字段从三列退到两列 */
@media (max-width: 900px) {
  html.ilink-app body[data-app-page="team-publish"] .tp-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* 手机：全部单列，按钮铺满并让主操作落在最下面 */
@media (max-width: 600px) {
  html.ilink-app body[data-app-page="team-publish"] .il-surface {
    padding: 4px 20px 24px !important;
  }
  html.ilink-app body[data-app-page="team-publish"] .tp-grid {
    grid-template-columns: 1fr !important;
  }
  /* 手机上是竖排：取消在上、发布需求在下，主操作贴着最后一组字段，拇指好按 */
  html.ilink-app body[data-app-page="team-publish"] .tp-actions {
    flex-direction: column !important;
  }
  html.ilink-app body[data-app-page="team-publish"] .tp-actions .il-btn {
    width: 100% !important;
  }
}

/* ---------- B. 组队/导师详情：信息网格卡片 ---------- */
html.ilink-app body:is([data-app-page="team-detail"],[data-app-page="teacher-detail"]) .detail-view,
html.ilink-app body[data-app-page="teacher-detail"] .teacher-detail-card {
  border-radius: 20px !important;
  box-shadow: 0 8px 30px rgba(17,24,39,0.05) !important;
  overflow: hidden !important;
}
html.ilink-app body:is([data-app-page="team-detail"],[data-app-page="teacher-detail"]) .detail-view__header,
html.ilink-app body[data-app-page="teacher-detail"] .teacher-detail__header {
  padding: 28px 32px 22px !important;
  border-bottom: 1px solid #f0efec !important;
}
html.ilink-app body:is([data-app-page="team-detail"],[data-app-page="teacher-detail"]) .detail-view__eyebrow,
html.ilink-app body[data-app-page="teacher-detail"] .detail-view__eyebrow {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  color: #9ca3af !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}
html.ilink-app body:is([data-app-page="team-detail"],[data-app-page="teacher-detail"]) .detail-view__title {
  font-size: 26px !important;
  line-height: 1.3 !important;
}
html.ilink-app body:is([data-app-page="team-detail"],[data-app-page="teacher-detail"]) .detail-view__body,
html.ilink-app body[data-app-page="teacher-detail"] .teacher-detail__body { padding: 28px 32px 32px !important; }

html.ilink-app body:is([data-app-page="team-detail"],[data-app-page="teacher-detail"]) .detail-view__meta {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 12px !important;
}
html.ilink-app body:is([data-app-page="team-detail"],[data-app-page="teacher-detail"]) .detail-view__row {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  padding: 14px 16px !important;
  background: #f8f8f6 !important;
  border: 1px solid #f0efec !important;
  border-bottom: 1px solid #f0efec !important;
  border-radius: 14px !important;
  grid-template-columns: 1fr !important;
}
html.ilink-app body:is([data-app-page="team-detail"],[data-app-page="teacher-detail"]) .detail-view__row--block {
  grid-column: 1 / -1 !important;
}
html.ilink-app body:is([data-app-page="team-detail"],[data-app-page="teacher-detail"]) .detail-view__row dt {
  font-size: 12.5px !important;
  font-weight: 500 !important;
  color: #9ca3af !important;
  margin: 0 !important;
}
html.ilink-app body:is([data-app-page="team-detail"],[data-app-page="teacher-detail"]) .detail-view__row dd {
  margin: 0 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #1f2937 !important;
  line-height: 1.5 !important;
}
html.ilink-app body:is([data-app-page="team-detail"],[data-app-page="teacher-detail"]) .detail-view__row--block dd { font-weight: 400 !important; }
html.ilink-app body:is([data-app-page="team-detail"],[data-app-page="teacher-detail"]) .detail-view__text {
  font-size: 14.5px !important;
  line-height: 1.75 !important;
  color: #4b5563 !important;
}
html.ilink-app body:is([data-app-page="team-detail"],[data-app-page="teacher-detail"]) .detail-view__actions {
  margin-top: 22px !important;
  padding-top: 22px !important;
  border-top: 1px solid #f0efec !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  justify-content: flex-end !important;
}
html.ilink-app body:is([data-app-page="team-detail"],[data-app-page="teacher-detail"]) .detail-view__actions .il-btn {
  height: 44px !important;
  padding: 0 22px !important;
  border-radius: 12px !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
}
@media (max-width: 700px) {
  html.ilink-app body:is([data-app-page="team-detail"],[data-app-page="teacher-detail"]) .detail-view__meta {
    grid-template-columns: 1fr !important;
  }
  html.ilink-app body:is([data-app-page="team-detail"],[data-app-page="teacher-detail"]) .detail-view__header,
  html.ilink-app body[data-app-page="teacher-detail"] .teacher-detail__header,
  html.ilink-app body:is([data-app-page="team-detail"],[data-app-page="teacher-detail"]) .detail-view__body,
  html.ilink-app body[data-app-page="teacher-detail"] .teacher-detail__body { padding-left: 20px !important; padding-right: 20px !important; }
}

/* ---------- C. 导师详情头部 + 申请区 ---------- */
html.ilink-app body[data-app-page="teacher-detail"] .teacher-detail__identity {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
}
html.ilink-app body[data-app-page="teacher-detail"] .teacher-detail__avatar-slot {
  width: 76px !important;
  height: 76px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  background: #eef0ef !important;
  box-shadow: 0 4px 14px rgba(17,24,39,0.10) !important;
}
html.ilink-app body[data-app-page="teacher-detail"] .teacher-detail__avatar-slot img {
  /* display 不能加 !important：onerror 会写内联 display:none 让位给文字头像，
     加了 !important 会把这个兜底顶掉，结果坏图占半格、文字头像被挤到另一边 */
  width: 100% !important; height: 100% !important; object-fit: cover !important; display: block;
}
/* 图片加载失败时的统一兜底：行内 display:none 一律生效（顺带覆盖其它头像组件） */
html.ilink-app .publisher-avatar__img[style*="display: none"],
html.ilink-app .il-publisher-avatar__img[style*="display: none"],
html.ilink-app .teacher-detail__avatar-slot img[style*="display: none"] {
  display: none !important;
}
html.ilink-app body[data-app-page="teacher-detail"] .teacher-detail__title-wrap .detail-view__title { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
html.ilink-app body[data-app-page="teacher-detail"] .teacher-detail__apply {
  margin-top: 16px !important;
  padding: 22px !important;
  background: #f8f8f6 !important;
  border: 1px solid #f0efec !important;
  border-radius: 16px !important;
}
html.ilink-app body[data-app-page="teacher-detail"] .teacher-detail__section-label {
  font-size: 16px !important;
  font-weight: 650 !important;
  color: #1f2937 !important;
  margin-bottom: 6px !important;
}
html.ilink-app body[data-app-page="teacher-detail"] .teacher-detail__apply-hint {
  font-size: 13px !important;
  color: #9ca3af !important;
  margin-bottom: 14px !important;
}
html.ilink-app body[data-app-page="teacher-detail"] .teacher-detail__textarea {
  width: 100% !important;
  min-height: 116px !important;
  padding: 13px 15px !important;
  border: 1px solid #e3e4e0 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  resize: vertical !important;
  box-sizing: border-box !important;
  transition: border-color .18s ease, box-shadow .18s ease !important;
}
html.ilink-app body[data-app-page="teacher-detail"] .teacher-detail__textarea:focus {
  outline: none !important;
  border-color: #1f2937 !important;
  box-shadow: 0 0 0 3px rgba(31,41,55,0.08) !important;
}
html.ilink-app body[data-app-page="teacher-detail"] .teacher-detail__apply-actions { margin-top: 14px !important; }
html.ilink-app body[data-app-page="teacher-detail"] .teacher-detail__submit,
html.ilink-app body[data-app-page="teacher-detail"] .teacher-detail__apply-actions .btn {
  height: 44px !important;
  padding: 0 24px !important;
  border-radius: 12px !important;
  font-weight: 600 !important;
  border: none !important;
  background: #1f2937 !important;
  color: #fff !important;
}
html.ilink-app body[data-app-page="teacher-detail"] .teacher-detail__submit:hover { background: #374151 !important; }

/* ============================================================
   社区文章详情页排版优化
   ============================================================ */
html.ilink-app body[data-app-page="community-article"] .community-article-breadcrumb {
  margin-bottom: 18px !important;
  font-size: 13.5px !important;
  color: #9ca3af !important;
}
html.ilink-app body[data-app-page="community-article"] .community-article-breadcrumb a {
  color: #6b7280 !important;
  text-decoration: none !important;
}
html.ilink-app body[data-app-page="community-article"] .community-article-breadcrumb a:hover { color: #1f2937 !important; }
html.ilink-app body[data-app-page="community-article"] .community-article-breadcrumb__current { color: #1f2937 !important; font-weight: 600 !important; }

html.ilink-app body[data-app-page="community-article"] .community-article-card,
html.ilink-app body[data-app-page="community-article"] .community-article-comments {
  border: 1px solid #f0efec !important;
  border-radius: 20px !important;
  box-shadow: 0 8px 30px rgba(17,24,39,0.05) !important;
  overflow: hidden !important;
}
html.ilink-app body[data-app-page="community-article"] .community-article-comments { margin-top: 20px !important; }

html.ilink-app body[data-app-page="community-article"] .community-article-card__header { padding: 30px 34px 20px !important; border-bottom: 1px solid #f0efec !important; }
html.ilink-app body[data-app-page="community-article"] .community-article-card__header-top {
  display: flex !important; align-items: flex-start !important; justify-content: space-between !important; gap: 18px !important;
}
html.ilink-app body[data-app-page="community-article"] .community-article__title {
  font-size: 28px !important; line-height: 1.35 !important; font-weight: 700 !important;
  color: #1f2937 !important; letter-spacing: -0.02em !important;
}
html.ilink-app body[data-app-page="community-article"] .community-article__header-actions {
  display: flex !important; align-items: center !important; gap: 10px !important; flex-shrink: 0 !important;
}
html.ilink-app body[data-app-page="community-article"] .community-article__header-actions .community-article__action-btn {
  min-height: 40px !important; border-radius: 11px !important; border: 1px solid #e8e8e6 !important;
  background: #fff !important; color: #4b5563 !important; font-size: 13px !important; padding: 8px 13px !important;
  transition: all .18s ease !important;
}
html.ilink-app body[data-app-page="community-article"] .community-article__header-actions .community-article__action-btn:hover {
  background: #f8f8f6 !important; border-color: #d1d5db !important; color: #1f2937 !important;
}
html.ilink-app body[data-app-page="community-article"] .community-article__header-actions #articleLikeBtn.community-article__action-btn--active,
html.ilink-app body[data-app-page="community-article"] .community-article__header-actions #articleLikeBtn[aria-pressed="true"] {
  background: #fff !important; border-color: #d1d5db !important; color: #4b5563 !important;
}
html.ilink-app body[data-app-page="community-article"] .community-article__header-actions #articleFavBtn.community-article__action-btn--active,
html.ilink-app body[data-app-page="community-article"] .community-article__header-actions #articleFavBtn[aria-pressed="true"] {
  background: #fff !important; border-color: #d1d5db !important; color: #4b5563 !important;
}
html.ilink-app body[data-app-page="community-article"] .community-article__header-actions #articleLikeBtn:is(.community-article__action-btn--active, [aria-pressed="true"]) svg {
  color: #2563eb !important;
}
html.ilink-app body[data-app-page="community-article"] .community-article__header-actions #articleFavBtn:is(.community-article__action-btn--active, [aria-pressed="true"]) svg {
  color: #d97706 !important;
}
html.ilink-app body[data-app-page="community-article"] .community-article__header-actions .community-article__action-btn:is(.community-article__action-btn--active, [aria-pressed="true"]) .community-article__action-num {
  background: rgba(17, 24, 39, 0.08) !important;
  color: #4b5563 !important;
}
html.ilink-app body[data-app-page="community-article"] .community-article__header-back {
  min-height: 40px !important; border-radius: 11px !important; display: inline-flex !important; align-items: center !important;
  border: 1px solid #e8e8e6 !important; background: #fff !important; color: #4b5563 !important;
  padding: 8px 16px !important; font-size: 13px !important; font-weight: 500 !important; text-decoration: none !important;
}
html.ilink-app body[data-app-page="community-article"] .community-article__header-back:hover { background: #f8f8f6 !important; color:#1f2937 !important; }

html.ilink-app body[data-app-page="community-article"] .community-article__meta-stats {
  margin-top: 18px !important; padding-top: 16px !important; border-top: 1px solid #f0efec !important;
  font-size: 13.5px !important; color: #9ca3af !important; gap: 6px 10px !important;
}
html.ilink-app body[data-app-page="community-article"] .community-article__meta-author { display:inline-flex !important; align-items:center !important; gap:7px !important; }
html.ilink-app body[data-app-page="community-article"] .community-article__avatar-slot {
  width:auto !important; height:auto !important; min-width:0 !important; max-width:none !important;
  flex:0 0 auto !important; overflow:visible !important; border-radius:0 !important;
  background:transparent !important; display:inline-flex !important; align-items:center !important;
}
html.ilink-app body[data-app-page="community-article"] .community-article__avatar-slot .il-publisher-avatar,
html.ilink-app body[data-app-page="community-article"] .community-article__avatar-slot .il-avatar-wrap,
html.ilink-app body[data-app-page="community-article"] .community-article__avatar-slot .il-publisher-avatar__img,
html.ilink-app body[data-app-page="community-article"] .community-article__avatar-slot img {
  width:30px !important; height:30px !important;
  min-width:30px !important; max-width:30px !important; min-height:30px !important; max-height:30px !important;
}
html.ilink-app body[data-app-page="community-article"] .community-article__avatar-slot .il-avatar-fallback { font-size:13px !important; }
html.ilink-app body[data-app-page="community-article"] .community-article__meta-item { color: #6b7280 !important; }

html.ilink-app body[data-app-page="community-article"] .community-article-card__body { padding: 28px 34px 32px !important; }

/* 评论区 */
html.ilink-app body[data-app-page="community-article"] .community-article-comments__header {
  padding: 22px 34px 0 !important; display:flex !important; align-items:baseline !important; gap:10px !important;
}
html.ilink-app body[data-app-page="community-article"] .community-article-comments__title { font-size: 18px !important; font-weight: 700 !important; color:#1f2937 !important; }
html.ilink-app body[data-app-page="community-article"] .community-article-comments__hint { font-size: 13px !important; color:#9ca3af !important; }
html.ilink-app body[data-app-page="community-article"] .community-article-comments__body { padding: 18px 34px 28px !important; }
html.ilink-app body[data-app-page="community-article"] .community-article-comment-list { margin-top: 0 !important; }

/* ====== 评论区：三态编辑器（收起态 / 展开态 / 提交中） ====== */
html.ilink-app body[data-app-page="community-article"] .il-comment-composer {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 0 0 20px !important;
  margin-bottom: 20px !important;
  border-bottom: 1px solid #f3f4f6 !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-composer__avatar {
  flex: 0 0 36px !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  background: #f1f1f3 !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-composer__avatar img,
html.ilink-app body[data-app-page="community-article"] .il-comment-composer__avatar .il-avatar-fallback {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  color: #6b7280 !important;
}

/* 收起态：假输入框 */
html.ilink-app body[data-app-page="community-article"] .il-comment-composer__trigger {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 44px !important;
  padding: 10px 14px !important;
  background: #f9fafb !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  color: #9ca3af !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  text-align: left !important;
  cursor: text !important;
  transition: background-color .15s ease, border-color .15s ease !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-composer__trigger svg {
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  color: #b6b8bd !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-composer__trigger[hidden] {
  display: none !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-composer__trigger:hover {
  background: #f3f4f6 !important;
  border-color: #d1d5db !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-composer__trigger:focus-visible {
  outline: none !important;
  border-color: #1f2937 !important;
  box-shadow: 0 0 0 3px rgba(31, 41, 55, .06) !important;
}

/* 展开态：输入区 + 工具栏共用一个圆角容器 */
html.ilink-app body[data-app-page="community-article"] .il-comment-composer__editor {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  background: #f9fafb !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  animation: ilCommentEditorIn .18s ease both;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-composer__editor[hidden] {
  display: none !important;
}

@keyframes ilCommentEditorIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

html.ilink-app body[data-app-page="community-article"] .il-comment-composer__textarea {
  display: block !important;
  width: 100% !important;
  min-height: 96px !important;
  max-height: 320px !important;
  padding: 12px 16px 8px !important;
  border: 0 !important;
  background: transparent !important;
  color: #1f2937 !important;
  font-family: inherit !important;
  font-size: 13.5px !important;
  line-height: 1.7 !important;
  resize: vertical !important;
  box-shadow: none !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-composer__textarea:focus {
  outline: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-composer__textarea::placeholder {
  color: #9ca3af !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-composer__toolbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-height: 40px !important;
  padding: 6px 10px !important;
  border-top: 1px solid #eceef1 !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-composer__tools {
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
  min-width: 0 !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-tool {
  width: 28px !important;
  height: 28px !important;
  flex: 0 0 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 6px !important;
  color: #9ca3af !important;
  cursor: pointer !important;
  transition: background-color .15s ease, color .15s ease !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-tool svg {
  width: 16px !important;
  height: 16px !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-tool:hover {
  background: #eceef1 !important;
  color: #4b5563 !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-composer__actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-left: auto !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-composer__count {
  font-size: 10.5px !important;
  font-weight: 500 !important;
  color: #9ca3af !important;
  font-variant-numeric: tabular-nums !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-composer__count[hidden] {
  display: none !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-composer__count.is-warn {
  color: #d97706 !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-composer__count.is-over {
  color: #dc2626 !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-cancel {
  height: 30px !important;
  padding: 0 12px !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 8px !important;
  color: #6b7280 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: background-color .15s ease, color .15s ease !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-cancel:hover {
  background: #eceef1 !important;
  color: #1f2937 !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-submit {
  height: 30px !important;
  padding: 0 16px !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  background: #e5e7eb !important;
  color: #9ca3af !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: not-allowed !important;
  transition: background-color .15s ease, color .15s ease, transform .1s ease !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-submit.is-ready {
  background: var(--ui-surface-subtle, #f1f1f2) !important;
  color: var(--ui-text, #282a2f) !important;
  cursor: pointer !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-submit.is-ready:hover {
  background: var(--ui-border, #e5e5e7) !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-submit.is-ready:active {
  transform: scale(.97) !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-submit.is-loading {
  background: #1f2937 !important;
  color: #ffffff !important;
  cursor: progress !important;
}

/* 评论条目：悬停整条淡出删除按钮 */
html.ilink-app body[data-app-page="community-article"] .community-article-comment {
  padding: 14px 12px !important;
  margin: 0 -12px !important;
  border-radius: 10px !important;
  border-bottom: 1px solid #f3f4f6 !important;
  transition: background-color .15s ease !important;
}

html.ilink-app body[data-app-page="community-article"] .community-article-comment:last-child {
  border-bottom: 0 !important;
}

html.ilink-app body[data-app-page="community-article"] .community-article-comment:hover {
  background: rgba(249, 250, 251, .6) !important;
}

/* 评论操作区（回复 / 删除）：默认隐藏，悬停整条或键盘聚焦时淡入 */
html.ilink-app body[data-app-page="community-article"] .community-article-comment__actions {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  opacity: 0 !important;
  transition: opacity .15s ease !important;
}

html.ilink-app body[data-app-page="community-article"] .community-article-comment:hover .community-article-comment__actions,
html.ilink-app body[data-app-page="community-article"] .community-article-comment__actions:focus-within {
  opacity: 1 !important;
}

html.ilink-app body[data-app-page="community-article"] .community-article-comment__action {
  padding: 2px 8px !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 6px !important;
  color: #9ca3af !important;
  font-size: 12px !important;
  cursor: pointer !important;
  transition: background-color .15s ease, color .15s ease !important;
}

html.ilink-app body[data-app-page="community-article"] .community-article-comment__action:hover {
  background: #f3f4f6 !important;
  color: #1f2937 !important;
}

html.ilink-app body[data-app-page="community-article"] .community-article-comment__delete:hover {
  background: #fee2e2 !important;
  color: #dc2626 !important;
}

/* 回复列表：单层缩进，左侧细引导线 */
html.ilink-app body[data-app-page="community-article"] .il-comment-replies {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  margin-top: 10px !important;
  padding-left: 12px !important;
  border-left: 2px solid #f3f4f6 !important;
}

html.ilink-app body[data-app-page="community-article"] .community-article-comment--reply {
  padding: 8px 10px !important;
  margin: 0 !important;
  border-bottom: 0 !important;
  border-radius: 8px !important;
}

html.ilink-app body[data-app-page="community-article"] .community-article-comment--reply .community-article-comment__avatar {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
}

html.ilink-app body[data-app-page="community-article"] .community-article-comment--reply .community-article-comment__author {
  font-size: 12.5px !important;
}

html.ilink-app body[data-app-page="community-article"] .community-article-comment--reply .community-article-comment__body {
  font-size: 13px !important;
}

html.ilink-app body[data-app-page="community-article"] .community-article-comment__reply-to {
  margin-right: 3px !important;
  color: #6b7280 !important;
  font-weight: 500 !important;
}

/* 内联回复框 */
html.ilink-app body[data-app-page="community-article"] .il-comment-reply-box {
  margin-top: 10px !important;
  padding: 8px 10px !important;
  background: #f9fafb !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  animation: ilCommentEditorIn .18s ease both;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-reply-box__input {
  display: block !important;
  width: 100% !important;
  min-height: 52px !important;
  padding: 4px 2px !important;
  border: 0 !important;
  background: transparent !important;
  color: #1f2937 !important;
  font-family: inherit !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  resize: vertical !important;
  box-shadow: none !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-reply-box__input:focus {
  outline: none !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-reply-box__actions {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 6px !important;
}

/* 加载更多 */
html.ilink-app body[data-app-page="community-article"] .il-comment-more {
  display: flex !important;
  justify-content: center !important;
  padding: 16px 0 4px !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-more[hidden] {
  display: none !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-more__btn {
  height: 34px !important;
  padding: 0 18px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  color: #6b7280 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease !important;
}

html.ilink-app body[data-app-page="community-article"] .il-comment-more__btn:hover {
  background: #f9fafb !important;
  border-color: #d1d5db !important;
  color: #1f2937 !important;
}

/* 平板：隐藏工具栏尾部提示；移动端：精简图标、头像缩小 */
@media (max-width: 767.98px) {
  html.ilink-app body[data-app-page="community-article"] .il-comment-composer__avatar {
    flex-basis: 32px !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
  }
}

@media (max-width: 639.98px) {
  html.ilink-app body[data-app-page="community-article"] .il-comment-tool[data-tool="image"],
  html.ilink-app body[data-app-page="community-article"] .il-comment-tool[data-tool="code"],
  html.ilink-app body[data-app-page="community-article"] .il-comment-tool[data-tool="mention"] {
    display: none !important;
  }

  html.ilink-app body[data-app-page="community-article"] .il-comment-composer__textarea {
    min-height: 80px !important;
  }
}
html.ilink-app body[data-app-page="community-article"] .community-article-comment-list__empty {
  padding: 22px !important; text-align:center !important; color:#9ca3af !important; font-size:13.5px !important;
  background:#f9fafb !important; border:1px solid #f3f4f6 !important; border-radius:12px !important;
}
@media (max-width: 700px) {
  html.ilink-app body[data-app-page="community-article"] .community-article-card__header,
  html.ilink-app body[data-app-page="community-article"] .community-article-card__body,
  html.ilink-app body[data-app-page="community-article"] .community-article-comments__header,
  html.ilink-app body[data-app-page="community-article"] .community-article-comments__body { padding-left:20px !important; padding-right:20px !important; }
  html.ilink-app body[data-app-page="community-article"] .community-article__title { font-size:23px !important; }
}

/* ====== 组队详情：成员横向同一行排列 ====== */
html.ilink-app body[data-app-page="team-detail"] #teamMembers {
  flex-direction: row !important; flex-wrap: wrap !important; gap: 12px !important;
}
html.ilink-app body[data-app-page="team-detail"] #teamMembers .team-member {
  width: auto !important; flex: 0 0 auto !important; min-width: 208px !important;
}

/* ====== 修复：详情/表单页高优先级 display 不得压过 Bootstrap .d-none（权限按钮显隐依赖它） ====== */
html.ilink-app body:is([data-app-page="team-detail"],[data-app-page="teacher-detail"]) .detail-view__actions .il-btn.d-none,
html.ilink-app body[data-app-page="team-publish"] .il-btn.d-none,
html.ilink-app body[data-app-page="teacher-detail"] .teacher-detail__apply .il-btn.d-none {
  display: none !important;
}

/* ============================================================
   参赛竞赛选择器：目录搜索下拉 + 自填切换
   （发布页 team-publish 与团队详情编辑页 team-detail 共用）
   ============================================================ */
html.ilink-app .tp-comp-anchor {
  position: relative;
}
html.ilink-app .tp-comp-menu {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  z-index: 30;
  background: #ffffff;
  border: 1px solid #e3e4e0;
  border-radius: 12px;
  box-shadow: 0 12px 30px -10px rgba(20, 25, 40, 0.18);
  padding: 6px;
  max-height: 280px;
  overflow-y: auto;
}
html.ilink-app .tp-comp-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 10px 12px;
  border: 0;
  background: transparent;
  border-radius: 8px;
  cursor: pointer;
  font-family: inherit;
  font-size: 13.5px;
  color: #1f2937;
  text-align: left;
  transition: background-color .14s ease;
}
html.ilink-app .tp-comp-item:hover {
  background: #f4f4f2;
}
html.ilink-app .tp-comp-name {
  font-weight: 500;
}
html.ilink-app .tp-comp-org {
  font-size: 12px;
  color: #8a8c87;
  flex-shrink: 0;
}
html.ilink-app .tp-comp-empty {
  padding: 12px;
  font-size: 12.5px;
  color: #8a8c87;
  text-align: center;
}
html.ilink-app .tp-comp-toggle {
  border: 0;
  background: transparent;
  padding: 6px 0;
  margin-top: 8px;
  font-size: 13px;
  font-family: inherit;
  color: #52555c;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}
html.ilink-app .tp-comp-toggle:hover {
  color: #282a2f;
}

/* 组队大厅卡片：参赛竞赛一行 */
html.ilink-app .il-team-competition {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  font-size: 13px;
  color: #52555c;
  overflow-wrap: anywhere;
}
html.ilink-app .il-team-competition svg {
  flex-shrink: 0;
  color: #8a8c87;
}

}

/* ============================================================
   发布页 helper 行（参考 demo）：灰字提示 + 靛蓝链接按钮（带 SVG），
   hover 底边线；替代原先的灰色下划线文字按钮。
   ============================================================ */
html.ilink-app .tp-helper-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.4;
}

html.ilink-app .tp-helper-hint {
  color: #9aa1ab;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

html.ilink-app .tp-helper-hint svg {
  width: 12px;
  height: 12px;
  opacity: 0.7;
}

html.ilink-app .tp-comp-toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 0;
  background: transparent;
  padding: 2px 0;
  margin-top: 0;
  font-size: 12px;
  font-family: inherit;
  font-weight: 500;
  color: #6366f1;
  cursor: pointer;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.15s, color 0.15s;
}

html.ilink-app .tp-comp-toggle svg {
  width: 12px;
  height: 12px;
}

html.ilink-app .tp-comp-toggle:hover {
  color: #4f46e5;
  border-bottom-color: #6366f1;
}
