/* TASK 10A: 社区宽屏收紧 × 账户壳层统一 × 字体/分割线统一
 * 仅覆盖科创广场社区与账户辅助页视觉，不改业务结构。 */

:root {
  --t10a-font: Inter, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  --t10a-line: #e3e6ee;
  --t10a-line-strong: #dadfe8;
  --t10a-ink: #1a2030;
  --t10a-muted: #6b7385;
  --t10a-soft: #8a92a3;
}

/* ---------- 共用：科创广场域无衬线字体 ---------- */
body:has(:is(
  #view-forum.active,
  #view-forum-post.active,
  #view-forum-compose.active,
  #view-plaza.active,
  #view-project-detail.active,
  #view-idea-detail.active,
  #view-maker-profile.active,
  #view-profile.active,
  #view-my-publish.active,
  #view-points.active,
  #view-points-ledger.active,
  #view-points-checkout.active
)) {
  font-family: var(--t10a-font);
}

body:has(:is(
  #view-forum.active,
  #view-forum-post.active,
  #view-forum-compose.active,
  #view-plaza.active,
  #view-project-detail.active,
  #view-idea-detail.active,
  #view-maker-profile.active,
  #view-profile.active,
  #view-my-publish.active,
  #view-points.active,
  #view-points-ledger.active,
  #view-points-checkout.active
)) :is(h1, h2, h3, h4, .brand strong, .plaza-hero-title) {
  font-family: var(--t10a-font) !important;
  letter-spacing: -0.015em;
}

/* ---------- 账户页：贴顶白底壳层（清掉淡蓝边 / 悬浮顶栏） ---------- */
body:has(:is(
  #view-profile.active,
  #view-my-publish.active,
  #view-points.active,
  #view-points-ledger.active,
  #view-points-checkout.active
)),
body:has(:is(
  #view-profile.active,
  #view-my-publish.active,
  #view-points.active,
  #view-points-ledger.active,
  #view-points-checkout.active
)) #app {
  background: #fff !important;
}

body:has(:is(
  #view-profile.active,
  #view-my-publish.active,
  #view-points.active,
  #view-points-ledger.active,
  #view-points-checkout.active
)) #app {
  gap: 0 !important;
  padding: 0 0 72px !important;
}

body:has(:is(
  #view-profile.active,
  #view-my-publish.active,
  #view-points.active,
  #view-points-ledger.active,
  #view-points-checkout.active
)) #app > .bg {
  display: none !important;
  opacity: 0 !important;
  background: none !important;
}

body:has(:is(
  #view-profile.active,
  #view-my-publish.active,
  #view-points.active,
  #view-points-ledger.active,
  #view-points-checkout.active
)) #app > .bg::before {
  display: none !important;
}

body:has(:is(
  #view-profile.active,
  #view-my-publish.active,
  #view-points.active,
  #view-points-ledger.active,
  #view-points-checkout.active
)) #main-topbar.plaza-redesign-topbar {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 90;
  display: block;
  width: 100%;
  max-width: none;
  min-height: 68px;
  margin: 0;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--t10a-line);
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  backdrop-filter: none;
}

body:has(:is(
  #view-profile.active,
  #view-my-publish.active,
  #view-points.active,
  #view-points-ledger.active,
  #view-points-checkout.active
)) #main-topbar.plaza-redesign-topbar .plaza-top-publish,
body:has(:is(
  #view-profile.active,
  #view-my-publish.active,
  #view-points.active,
  #view-points-ledger.active,
  #view-points-checkout.active
)) #main-topbar.plaza-redesign-topbar #role-switch {
  display: none !important;
}

:is(#view-profile, #view-my-publish, #view-points, #view-points-ledger, #view-points-checkout) {
  background: #fff !important;
  color: var(--t10a-ink);
}

/* 账户内容区宽度与节奏统一 */
#view-profile.plaza-profile {
  width: min(calc(100% - 64px), 1260px);
  margin: 0 auto;
  padding: 0 0 8px;
}

#view-my-publish .plaza-my-publish-shell,
.plaza-points-shell,
.plaza-ledger-shell {
  width: min(calc(100% - 64px), 1260px);
  margin: 0 auto;
  padding: 28px 0 72px;
}

.plaza-checkout-shell {
  width: min(calc(100% - 64px), 920px);
  margin: 0 auto;
  padding: 28px 0 72px;
}

:is(
  #view-profile .plaza-profile-summary,
  #view-profile .plaza-profile-section,
  #view-my-publish .plaza-my-publish-header,
  #view-my-publish .plaza-my-publish-toolbar,
  #view-my-publish .plaza-my-publish-row,
  .plaza-points-header,
  .plaza-ledger-header,
  .plaza-checkout-header,
  .plaza-points-balance-section,
  .plaza-points-section,
  .plaza-points-record,
  .plaza-checkout-confirm dl > div
) {
  border-color: var(--t10a-line-strong);
}

#view-profile .plaza-profile-summary {
  border-bottom: 1px solid var(--t10a-line-strong);
}

#view-profile .plaza-profile-section {
  border-bottom: 1px solid var(--t10a-line);
}

#view-profile .plaza-profile-qualification-row,
#view-profile .identity-card.plaza-badge-item {
  border-color: var(--t10a-line);
}

#view-my-publish .plaza-my-publish-header,
.plaza-points-header,
.plaza-ledger-header,
.plaza-checkout-header,
.plaza-points-balance-section,
.plaza-points-section {
  border-bottom: 1px solid var(--t10a-line-strong);
}

.plaza-points-record,
.plaza-points-record-list,
.plaza-checkout-confirm dl,
.plaza-checkout-confirm dl > div {
  border-color: var(--t10a-line) !important;
}

/* ---------- 社区首页：1920 收紧居中 + 贴吧式留白/分割 ---------- */
body:has(#view-forum.active),
body:has(#view-forum.active) #app {
  background: #fff !important;
}

body:has(#view-forum.active) #app {
  gap: 0 !important;
  padding: 0 0 48px !important;
}

body:has(#view-forum.active) #app > .bg {
  display: none !important;
}

body:has(#view-forum.active) #main-topbar.plaza-redesign-topbar {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 90;
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--t10a-line);
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  backdrop-filter: none;
}

#view-forum.plaza-forum {
  width: min(calc(100% - 48px), 1580px);
  margin: 68px auto 0;
  padding: 14px 0 56px;
  color: var(--t10a-ink);
  font-family: var(--t10a-font);
}

#view-forum .plaza-forum-layout {
  display: grid;
  grid-template-columns: 196px minmax(0, 840px) 300px;
  justify-content: center;
  align-items: start;
  column-gap: 0;
  width: 100%;
}

#view-forum .plaza-forum-sidebar {
  position: sticky;
  top: 84px;
  margin: 0;
  padding: 2px 40px 18px 0;
  border: 0;
  border-right: 1px solid var(--t10a-line-strong);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#view-forum .plaza-forum-sidebar-title {
  color: var(--t10a-ink);
  font-family: var(--t10a-font) !important;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.02em;
}

#view-forum .plaza-forum-feed {
  padding: 0 36px 0 44px;
  border-right: 1px solid var(--t10a-line-strong);
}

#view-forum .plaza-forum-rail {
  position: sticky;
  top: 84px;
  padding: 2px 0 0 28px;
}

#view-forum .plaza-forum-feed .forum-filters,
#view-forum .plaza-forum-compose {
  border-bottom: 1px solid var(--t10a-line-strong);
}

#view-forum .post-card {
  padding: 22px 0 20px;
  border: 0;
  border-bottom: 1px solid var(--t10a-line-strong);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#view-forum .post-card:hover {
  background: #fafbfd;
  border-color: var(--t10a-line-strong);
}

#view-forum .post-card h3,
#view-forum .post-card--regular h3,
#view-forum .post-card--emphasis h3 {
  margin: 0 0 8px;
  color: #1c2434;
  font-family: var(--t10a-font) !important;
  font-size: 16px;
  font-weight: 680;
  line-height: 1.5;
  letter-spacing: -0.01em;
}

#view-forum .post-card--emphasis h3 {
  font-size: 17px;
  font-weight: 720;
}

#view-forum .post-card-excerpt,
#view-forum .post-card > .post-card-excerpt {
  display: -webkit-box;
  overflow: hidden;
  margin: 0 0 10px;
  color: #4f586a;
  font-family: var(--t10a-font) !important;
  font-size: 14px !important;
  font-weight: 450;
  line-height: 1.7;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

#view-forum .post-card-meta {
  gap: 6px 18px;
  color: var(--t10a-soft);
  font-size: 12px;
}

#view-forum .post-card-action {
  color: #5c6576;
  font-size: 13px;
  font-weight: 500;
}

#view-forum .plaza-forum-hot-item {
  min-height: 42px;
  padding: 9px 0;
  border-bottom: 1px solid var(--t10a-line);
}

#view-forum .plaza-forum-hot-item b {
  color: #4f596c;
  font-family: var(--t10a-font);
  font-size: 13px;
  font-weight: 600;
}

#view-forum .plaza-forum-rail-heading h2 {
  font-family: var(--t10a-font) !important;
  font-size: 15px;
  font-weight: 720;
  color: #222a3a;
}

/* 帖子详情 / 发帖页：去掉宋体感，统一壳层贴顶白底 */
body:has(:is(#view-forum-post.active, #view-forum-compose.active)),
body:has(:is(#view-forum-post.active, #view-forum-compose.active)) #app {
  background: #fff !important;
}

body:has(:is(#view-forum-post.active, #view-forum-compose.active)) #app {
  gap: 0 !important;
  padding: 0 0 56px !important;
}

body:has(:is(#view-forum-post.active, #view-forum-compose.active)) #app > .bg {
  display: none !important;
}

body:has(:is(#view-forum-post.active, #view-forum-compose.active)) #main-topbar.plaza-redesign-topbar {
  position: sticky;
  top: 0;
  width: 100vw;
  max-width: none;
  margin: 0 0 0 calc(50% - 50vw);
  padding: 0;
  border-radius: 0;
  border-bottom: 1px solid var(--t10a-line);
  background: #fff;
  box-shadow: none;
  backdrop-filter: none;
}

#view-forum-post .post-body,
#view-forum-post .reply-item p,
#view-forum-compose textarea,
#view-forum-compose .plaza-forum-compose-section p {
  font-family: var(--t10a-font) !important;
}

/* ---------- 响应式：1650 / 1366 ---------- */
@media (max-width: 1680px) {
  #view-forum.plaza-forum {
    width: min(calc(100% - 40px), 1480px);
  }

  #view-forum .plaza-forum-layout {
    grid-template-columns: 188px minmax(0, 800px) 290px;
  }

  #view-forum .plaza-forum-sidebar {
    padding-right: 32px;
  }

  #view-forum .plaza-forum-feed {
    padding: 0 30px 0 36px;
  }
}

@media (max-width: 1400px) {
  #view-forum.plaza-forum {
    width: min(calc(100% - 32px), 1280px);
  }

  #view-forum .plaza-forum-layout {
    grid-template-columns: 180px minmax(0, 1fr) 270px;
  }

  #view-forum .plaza-forum-sidebar {
    padding-right: 24px;
  }

  #view-forum .plaza-forum-feed {
    padding-inline: 26px;
  }

  #view-forum .plaza-forum-rail {
    padding-left: 22px;
  }

  #view-profile.plaza-profile,
  #view-my-publish .plaza-my-publish-shell,
  .plaza-points-shell,
  .plaza-ledger-shell {
    width: min(calc(100% - 40px), 1180px);
  }
}

@media (max-width: 1180px) {
  #view-forum .plaza-forum-layout {
    grid-template-columns: 172px minmax(0, 1fr) 250px;
  }

  #view-forum .plaza-forum-feed {
    padding-inline: 20px;
  }
}

@media (max-width: 940px) {
  #view-forum .plaza-forum-layout {
    grid-template-columns: 160px minmax(0, 1fr);
  }

  #view-forum .plaza-forum-rail {
    display: none;
  }

  #view-forum .plaza-forum-feed {
    border-right: 0;
    padding-right: 0;
  }
}

@media (max-width: 720px) {
  #view-forum.plaza-forum {
    width: calc(100% - 24px);
    margin-top: 58px;
    padding: 12px 0 36px;
  }

  #view-forum .plaza-forum-layout {
    display: block;
  }

  #view-forum .plaza-forum-sidebar {
    position: static;
    padding: 0 0 14px;
    border: 0;
  }

  #view-forum .plaza-forum-feed {
    padding: 0;
    border: 0;
  }

  #view-profile.plaza-profile,
  #view-my-publish .plaza-my-publish-shell,
  .plaza-points-shell,
  .plaza-ledger-shell,
  .plaza-checkout-shell {
    width: calc(100% - 28px);
    padding-top: 18px;
  }
}

/* =========================================================
 * TASK 10A.1 — 唯一 Header Geometry + avatar-identity 污染切断
 * 覆盖 TASK1 flex / .topbar 三列 grid / TASK3 宽度差异，保证账户页与社区同坐标。
 * ========================================================= */

/* 所有科创广场相关页：外层必须 block，避免 .topbar 的 3 列 grid 把唯一 inner 挤进左列 */
body:has(:is(
  #view-plaza.active,
  #view-forum.active,
  #view-forum-post.active,
  #view-forum-compose.active,
  #view-project-detail.active,
  #view-idea-detail.active,
  #view-maker-profile.active,
  #view-publish-project.active,
  #view-publish-idea.active,
  #view-join-gate.active,
  #view-join-done.active,
  #view-recruit-post.active,
  #view-recruit-invite.active,
  #view-commission-pick.active,
  #view-commission.active,
  #view-commission-team.active,
  #view-commission-done.active,
  #view-download.active,
  #view-feedback.active,
  #view-inbound.active,
  #view-profile.active,
  #view-my-publish.active,
  #view-points.active,
  #view-points-ledger.active,
  #view-points-checkout.active
)) #main-topbar.plaza-redesign-topbar {
  display: block;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  padding: 0;
  border-radius: 0;
}

body:has(:is(
  #view-plaza.active,
  #view-forum.active,
  #view-forum-post.active,
  #view-forum-compose.active,
  #view-project-detail.active,
  #view-idea-detail.active,
  #view-maker-profile.active,
  #view-publish-project.active,
  #view-publish-idea.active,
  #view-join-gate.active,
  #view-join-done.active,
  #view-recruit-post.active,
  #view-recruit-invite.active,
  #view-commission-pick.active,
  #view-commission.active,
  #view-commission-team.active,
  #view-commission-done.active,
  #view-download.active,
  #view-feedback.active,
  #view-inbound.active,
  #view-profile.active,
  #view-my-publish.active,
  #view-points.active,
  #view-points-ledger.active,
  #view-points-checkout.active
)) #main-topbar.plaza-redesign-topbar[hidden] {
  display: none;
}

/* 三段式：左 1fr | 中 auto | 右 1fr —— 隐藏 CTA 时频道 X 坐标不变 */
body:has(:is(
  #view-plaza.active,
  #view-forum.active,
  #view-forum-post.active,
  #view-forum-compose.active,
  #view-project-detail.active,
  #view-idea-detail.active,
  #view-maker-profile.active,
  #view-publish-project.active,
  #view-publish-idea.active,
  #view-join-gate.active,
  #view-join-done.active,
  #view-recruit-post.active,
  #view-recruit-invite.active,
  #view-commission-pick.active,
  #view-commission.active,
  #view-commission-team.active,
  #view-commission-done.active,
  #view-download.active,
  #view-feedback.active,
  #view-inbound.active,
  #view-profile.active,
  #view-my-publish.active,
  #view-points.active,
  #view-points-ledger.active,
  #view-points-checkout.active
)) #main-topbar.plaza-redesign-topbar .plaza-redesign-topbar-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  width: min(calc(100% - 48px), 1800px);
  min-height: 68px;
  margin-inline: auto;
  gap: 18px;
  box-sizing: border-box;
}

body:has(:is(
  #view-plaza.active,
  #view-forum.active,
  #view-forum-post.active,
  #view-forum-compose.active,
  #view-project-detail.active,
  #view-idea-detail.active,
  #view-maker-profile.active,
  #view-publish-project.active,
  #view-publish-idea.active,
  #view-join-gate.active,
  #view-join-done.active,
  #view-recruit-post.active,
  #view-recruit-invite.active,
  #view-commission-pick.active,
  #view-commission.active,
  #view-commission-team.active,
  #view-commission-done.active,
  #view-download.active,
  #view-feedback.active,
  #view-inbound.active,
  #view-profile.active,
  #view-my-publish.active,
  #view-points.active,
  #view-points-ledger.active,
  #view-points-checkout.active
)) #main-topbar.plaza-redesign-topbar .brand {
  justify-self: start;
  min-width: 0;
}

body:has(:is(
  #view-plaza.active,
  #view-forum.active,
  #view-forum-post.active,
  #view-forum-compose.active,
  #view-project-detail.active,
  #view-idea-detail.active,
  #view-maker-profile.active,
  #view-publish-project.active,
  #view-publish-idea.active,
  #view-join-gate.active,
  #view-join-done.active,
  #view-recruit-post.active,
  #view-recruit-invite.active,
  #view-commission-pick.active,
  #view-commission.active,
  #view-commission-team.active,
  #view-commission-done.active,
  #view-download.active,
  #view-feedback.active,
  #view-inbound.active,
  #view-profile.active,
  #view-my-publish.active,
  #view-points.active,
  #view-points-ledger.active,
  #view-points-checkout.active
)) #main-topbar.plaza-redesign-topbar .plaza-channels {
  justify-self: center;
  min-width: 0;
}

body:has(:is(
  #view-plaza.active,
  #view-forum.active,
  #view-forum-post.active,
  #view-forum-compose.active,
  #view-project-detail.active,
  #view-idea-detail.active,
  #view-maker-profile.active,
  #view-publish-project.active,
  #view-publish-idea.active,
  #view-join-gate.active,
  #view-join-done.active,
  #view-recruit-post.active,
  #view-recruit-invite.active,
  #view-commission-pick.active,
  #view-commission.active,
  #view-commission-team.active,
  #view-commission-done.active,
  #view-download.active,
  #view-feedback.active,
  #view-inbound.active,
  #view-profile.active,
  #view-my-publish.active,
  #view-points.active,
  #view-points-ledger.active,
  #view-points-checkout.active
)) #main-topbar.plaza-redesign-topbar .top-actions {
  display: flex;
  justify-self: end;
  align-items: center;
  gap: 12px;
  margin-left: 0;
  min-width: 0;
}

@media (max-width: 1366px) {
  body:has(:is(
    #view-plaza.active,
    #view-forum.active,
    #view-forum-post.active,
    #view-forum-compose.active,
    #view-project-detail.active,
    #view-idea-detail.active,
    #view-maker-profile.active,
    #view-publish-project.active,
    #view-publish-idea.active,
    #view-profile.active,
    #view-my-publish.active,
    #view-points.active,
    #view-points-ledger.active,
    #view-points-checkout.active
  )) #main-topbar.plaza-redesign-topbar .plaza-redesign-topbar-inner {
    width: min(calc(100% - 32px), 1800px);
    gap: 12px;
  }

  body:has(:is(
    #view-plaza.active,
    #view-forum.active,
    #view-forum-post.active,
    #view-forum-compose.active,
    #view-project-detail.active,
    #view-idea-detail.active,
    #view-maker-profile.active,
    #view-publish-project.active,
    #view-publish-idea.active,
    #view-profile.active,
    #view-my-publish.active,
    #view-points.active,
    #view-points-ledger.active,
    #view-points-checkout.active
  )) #main-topbar.plaza-redesign-topbar .account-copy {
    display: none;
  }
}

/* ---------- BUG2: avatar-identity 不得成为全局绝对定位层 ---------- */
/* 切断 prototype.css 裸 .avatar-identity { position:absolute; display:flex; height:46% } 的污染 */
.avatar-identity[hidden],
#view-profile [hidden]:has(#profile-role-badge) {
  display: none !important;
  position: static !important;
  inset: auto !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  background: none !important;
  pointer-events: none !important;
}

/* 仅头像容器内的身份条保留渐变条视觉 */
.avatar-with-role > .avatar-identity {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 46%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 2px 2px 3px;
  background: linear-gradient(180deg, transparent, rgba(19, 45, 103, 0.82) 28%, rgba(19, 45, 103, 0.92));
  color: #fff;
  line-height: 1;
  pointer-events: none;
}

.avatar-with-role.lg > .avatar-identity b { font-size: 12px; }
.avatar-with-role.lg > .avatar-identity small { font-size: 9px; }
.avatar-with-role.xl > .avatar-identity { height: 42%; padding-bottom: 5px; }
.avatar-with-role.xl > .avatar-identity b { font-size: 16px; }
.avatar-with-role.xl > .avatar-identity small { font-size: 11px; }

.avatar-with-role > .avatar-identity[data-tone="blue"] {
  background: linear-gradient(180deg, transparent, rgba(82, 109, 255, 0.88) 30%, rgba(61, 80, 180, 0.95));
}
.avatar-with-role > .avatar-identity[data-tone="cyan"] {
  background: linear-gradient(180deg, transparent, rgba(53, 185, 255, 0.9) 30%, rgba(37, 120, 200, 0.95));
}
.avatar-with-role > .avatar-identity[data-tone="violet"] {
  background: linear-gradient(180deg, transparent, rgba(104, 86, 255, 0.9) 30%, rgba(88, 60, 200, 0.95));
}
.avatar-with-role > .avatar-identity[data-tone="pink"] {
  background: linear-gradient(180deg, transparent, rgba(255, 93, 143, 0.9) 30%, rgba(200, 60, 120, 0.95));
}
.avatar-with-role > .avatar-identity[data-tone="green"] {
  background: linear-gradient(180deg, transparent, rgba(16, 185, 129, 0.9) 30%, rgba(8, 140, 100, 0.95));
}
.avatar-with-role > .avatar-identity[data-tone="ink"] {
  background: linear-gradient(180deg, transparent, rgba(19, 45, 103, 0.92) 30%, rgba(10, 24, 60, 0.96));
}

/* 保险：即便误带 class，也不在 profile 摘要区展开成大色块 */
#view-profile .plaza-profile-summary-main > .avatar-identity,
#view-profile .plaza-profile-summary-main > [hidden] {
  display: none !important;
  position: static !important;
  background: none !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
}
