/*
 * 科创广场四频道视觉层。
 * 只覆盖作品、点子、社区与人才广场，避免影响修炼、后台和详情页。
 */

body:has(#view-plaza.active),
body:has(#view-forum.active) {
  --plaza-ink: #18213a;
  --plaza-muted: #6f7890;
  --plaza-line: #e5e8f0;
  --plaza-surface: rgba(255, 255, 255, 0.9);
  --plaza-brand: #5a63f2;
  --plaza-brand-deep: #444bd3;
  --plaza-brand-soft: #f0f1ff;
  --plaza-shadow-sm: 0 1px 2px rgba(23, 31, 56, 0.03), 0 8px 24px rgba(45, 52, 96, 0.05);
  --plaza-shadow-md: 0 18px 44px rgba(45, 52, 96, 0.11);
  color: var(--plaza-ink);
  background: #f5f6fa;
}

body:has(#view-plaza.active) .bg,
body:has(#view-forum.active) .bg {
  opacity: 1;
  background:
    radial-gradient(900px 460px at 18% -10%, rgba(90, 99, 242, 0.12), transparent 66%),
    radial-gradient(720px 420px at 92% 3%, rgba(116, 128, 255, 0.08), transparent 70%),
    linear-gradient(180deg, #f8f9fc 0%, #f4f5f9 100%);
}

body:has(#view-plaza.active) .bg::before,
body:has(#view-forum.active) .bg::before {
  opacity: 0.34;
  background-image:
    linear-gradient(rgba(82, 89, 135, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(82, 89, 135, 0.045) 1px, transparent 1px);
  background-size: 40px 40px;
  mask-image: linear-gradient(to bottom, #000, transparent 78%);
}

.app:has(#view-plaza.active),
.app:has(#view-forum.active) {
  gap: 14px;
  padding: 12px clamp(18px, 2vw, 34px) 40px;
  font-size: 14px !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}

/* 顶部频道导航 */
body:has(#view-plaza.active) #main-topbar,
body:has(#view-forum.active) #main-topbar {
  position: sticky;
  top: 12px;
  width: 100%;
  max-width: 1760px;
  min-height: 68px;
  margin: 0 auto;
  padding: 8px 12px;
  gap: 10px 18px;
  border: 1px solid rgba(222, 225, 235, 0.88);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 10px 32px rgba(39, 45, 78, 0.07);
  backdrop-filter: blur(22px) saturate(1.15);
}

body:has(#view-plaza.active) #main-topbar .brand-mark,
body:has(#view-forum.active) #main-topbar .brand-mark {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: linear-gradient(145deg, #6570ff, #4d55df);
  box-shadow: 0 8px 18px rgba(78, 87, 220, 0.24);
}

body:has(#view-plaza.active) #main-topbar .brand strong,
body:has(#view-forum.active) #main-topbar .brand strong {
  font-family: var(--font) !important;
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0;
  color: var(--plaza-ink);
}

body:has(#view-plaza.active) #main-topbar .brand small,
body:has(#view-forum.active) #main-topbar .brand small {
  font-size: 9px;
  letter-spacing: 0.09em;
  color: #8991a6;
}

body:has(#view-plaza.active) #main-topbar .plaza-channels-list,
body:has(#view-forum.active) #main-topbar .plaza-channels-list {
  gap: 4px;
  padding: 3px;
  border: 1px solid #eceef4;
  border-radius: 14px;
  background: #f6f7fa;
}

body:has(#view-plaza.active) #main-topbar .plaza-channel,
body:has(#view-forum.active) #main-topbar .plaza-channel {
  min-height: 42px;
  gap: 7px;
  padding: 0 clamp(10px, 1.2vw, 18px);
  border-radius: 10px;
  color: #727b91;
  font-size: 14px;
  font-weight: 600;
  transition: color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

body:has(#view-plaza.active) #main-topbar .plaza-channel:hover,
body:has(#view-forum.active) #main-topbar .plaza-channel:hover {
  color: var(--plaza-ink);
  background: rgba(255, 255, 255, 0.68);
}

body:has(#view-plaza.active) #main-topbar .plaza-channel.active,
body:has(#view-forum.active) #main-topbar .plaza-channel.active {
  color: var(--plaza-brand-deep);
  background: #fff;
  box-shadow: 0 1px 2px rgba(23, 31, 56, 0.04), 0 5px 14px rgba(45, 52, 96, 0.08);
}

body:has(#view-plaza.active) #main-topbar .plaza-channel.active::after,
body:has(#view-forum.active) #main-topbar .plaza-channel.active::after {
  display: none;
}

body:has(#view-plaza.active) #main-topbar .plaza-channel-icon,
body:has(#view-forum.active) #main-topbar .plaza-channel-icon,
body:has(#view-plaza.active) #main-topbar .plaza-channel-icon svg,
body:has(#view-forum.active) #main-topbar .plaza-channel-icon svg {
  width: 18px;
  height: 18px;
}

body:has(#view-plaza.active) #main-topbar .plaza-channel-count,
body:has(#view-forum.active) #main-topbar .plaza-channel-count {
  font-size: 12px;
  color: #9aa2b5;
}

body:has(#view-plaza.active) #main-topbar .top-actions,
body:has(#view-forum.active) #main-topbar .top-actions {
  gap: 7px;
}

body:has(#view-plaza.active) #main-topbar .role-switch-btn,
body:has(#view-forum.active) #main-topbar .role-switch-btn,
body:has(#view-plaza.active) #main-topbar .account-btn,
body:has(#view-forum.active) #main-topbar .account-btn {
  min-height: 42px;
  border-color: #e5e8f0;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: none;
}

body:has(#view-plaza.active) #main-topbar .points-chip,
body:has(#view-forum.active) #main-topbar .points-chip {
  min-height: 40px;
  padding: 0 12px;
  border-color: #e1e4fb;
  background: #f3f4ff;
  font-size: 12px;
}

/* 作品、点子、人才共用的内容舞台 */
#view-plaza {
  width: 100%;
  max-width: 1760px;
  margin: 0 auto;
  color: var(--plaza-ink);
}

#view-plaza.active {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}

#view-plaza > * {
  min-width: 0;
}

#view-plaza .plaza-masthead {
  margin: 0;
  border: 1px solid var(--plaza-line);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(249, 250, 255, 0.96));
  box-shadow: var(--plaza-shadow-sm);
}

#view-plaza .plaza-masthead-main {
  min-height: 132px;
  padding: 24px clamp(24px, 2.2vw, 38px) 22px;
}

#view-plaza .plaza-masthead-main::after {
  right: -42px;
  top: -104px;
  width: 270px;
  height: 270px;
  background: radial-gradient(circle at 36% 62%, rgba(90, 99, 242, 0.1), transparent 62%);
  border-color: rgba(90, 99, 242, 0.07);
}

#view-plaza .plaza-masthead-brand h1 {
  font-size: clamp(36px, 3.2vw, 50px);
  line-height: 1.08;
  letter-spacing: 0.02em;
  color: #131a2d;
}

#view-plaza .plaza-masthead-brand h1 em {
  background: linear-gradient(135deg, #6670ff 8%, #5159dd 92%);
  -webkit-background-clip: text;
  background-clip: text;
}

#view-plaza .plaza-masthead-sub {
  max-width: 650px;
  margin-top: 10px;
  color: var(--plaza-muted);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.55;
}

#view-plaza .plaza-masthead-actions {
  gap: 9px;
}

#view-plaza .plaza-mast-btn {
  min-height: 42px;
  padding: 0 16px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 700;
  box-shadow: none;
}

#view-plaza .plaza-mast-btn-icon,
#view-plaza .plaza-mast-btn-icon svg {
  width: 17px;
  height: 17px;
}

#view-plaza .plaza-mast-btn--ghost {
  color: #3d465b;
  border-color: #dfe3eb;
  background: rgba(255, 255, 255, 0.9);
}

#view-plaza .plaza-mast-btn--primary {
  background: var(--plaza-brand);
  box-shadow: 0 8px 20px rgba(90, 99, 242, 0.22);
}

#view-plaza .plaza-mast-btn:hover {
  transform: translateY(-1px);
}

#view-plaza .plaza-ticker {
  border-top-color: #eceef4;
  background: rgba(247, 248, 251, 0.92);
}

#view-plaza .plaza-ticker-track {
  min-height: 38px;
  padding: 8px 20px;
  animation-duration: 150s;
}

#view-plaza .plaza-ticker-item {
  color: #7f8799;
  font-size: 12px;
  font-weight: 500;
}

#view-plaza .plaza-ticker-item b {
  color: #535d74;
  font-weight: 650;
}

/* 筛选控件：状态在左、工具在右，形成一条清晰工具栏 */
#view-plaza .plaza-filters {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px 16px;
  margin: 0;
  padding: 9px 10px 9px 14px;
  border: 1px solid var(--plaza-line);
  border-radius: 16px;
  background: var(--plaza-surface);
  box-shadow: 0 1px 2px rgba(23, 31, 56, 0.025);
}

#view-plaza .plaza-filters .filter-row {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
}

#view-plaza .plaza-filters .filter-row-right {
  flex-wrap: nowrap;
}

#view-plaza .plaza-filters .filter-subrow {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

#view-plaza .plaza-filters .filter-advanced {
  grid-column: 1 / -1;
  grid-row: 2;
  margin: 2px 0 0;
  padding: 14px;
  border: 1px solid #e7e9f0;
  background: #fafbfc;
  box-shadow: none;
}

#view-plaza .plaza-sort-btn,
#view-plaza .filter-toggle,
#view-forum .filter-toggle {
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid #dfe3eb;
  border-radius: 10px;
  color: #636c81;
  background: #fff;
  font-size: 12px;
  box-shadow: none;
}

#view-plaza .search-box input,
#view-forum .search-box input {
  width: clamp(220px, 20vw, 320px);
  height: 40px;
  padding: 0 14px 0 38px;
  border: 1px solid #dfe3eb;
  border-radius: 11px;
  color: var(--plaza-ink);
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23838ba0' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.4-3.4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 13px center;
  font-size: 13px;
  outline: none;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

#view-plaza .search-box input:focus,
#view-forum .search-box input:focus {
  border-color: rgba(90, 99, 242, 0.58);
  box-shadow: 0 0 0 4px rgba(90, 99, 242, 0.1);
}

#view-plaza .filter-subrow-label {
  color: #81899d;
  font-size: 11px;
}

#view-plaza .chip-row {
  gap: 5px;
}

#view-plaza .filter-chip {
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 9px;
  color: #70798d;
  background: transparent;
  font-size: 12px;
}

#view-plaza .filter-chip:hover {
  color: var(--plaza-brand-deep);
  background: #f4f5ff;
}

#view-plaza .filter-chip.active {
  color: var(--plaza-brand-deep);
  border-color: #dfe1ff;
  background: var(--plaza-brand-soft);
}

/* “我的发布”保留原信息，但降为轻量上下文提示 */
#view-plaza .plaza-mine-banner {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 0;
  padding: 10px 14px;
  border: 1px solid #e0e2fb;
  border-radius: 13px;
  background: linear-gradient(90deg, #f3f4ff, #f8fbff);
}

#view-plaza .plaza-mine-banner[hidden] {
  display: none !important;
}

#view-plaza .plaza-mine-banner strong {
  flex: 0 0 auto;
  margin: 0;
  color: #4b54d1;
  font-size: 12px;
}

#view-plaza .plaza-mine-banner p {
  color: #6a7390;
  font-size: 12px;
}

/* 作品与点子卡片 */
#view-plaza #plaza-cards {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 1.25vw, 20px);
}

#view-plaza #plaza-cards .entity-card:not(.entity-card--maker) {
  height: auto;
  min-height: 344px;
  border: 1px solid #e4e7ef;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 2px 4px rgba(23, 31, 56, 0.025), 0 10px 28px rgba(45, 52, 96, 0.055);
  backdrop-filter: none;
  transition: transform 220ms cubic-bezier(.2,.8,.2,1), border-color 220ms ease, box-shadow 220ms ease;
}

#view-plaza #plaza-cards .entity-card:not(.entity-card--maker):hover {
  transform: translateY(-4px);
  border-color: #d7daf0;
  box-shadow: var(--plaza-shadow-md);
}

#view-plaza #plaza-cards .entity-card .card-cover {
  flex: 0 0 auto;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 8.7;
  background-color: #e9ebf2;
  background-size: cover;
  background-position: center;
  transition: filter 220ms ease;
}

#view-plaza #plaza-cards .entity-card:hover .card-cover {
  filter: saturate(1.04) contrast(1.02);
}

#view-plaza #plaza-cards .entity-card .card-body {
  gap: 0;
  padding: 15px 16px 14px;
}

#view-plaza #plaza-cards .entity-card .card-body h3 {
  margin: 0 0 8px;
  color: #19233c;
  font-family: var(--font) !important;
  font-size: 16px;
  font-weight: 750;
  line-height: 1.45;
  letter-spacing: 0;
  -webkit-line-clamp: 2;
}

#view-plaza #plaza-cards .entity-card .card-body > p:not(.card-mine-tip) {
  min-height: 42px;
  margin: 0 0 10px;
  color: #69738b;
  font-size: 12px;
  line-height: 1.7;
}

#view-plaza #plaza-cards .entity-card .tags {
  margin-top: auto;
  margin-bottom: 10px;
}

#view-plaza #plaza-cards .entity-card .tags span {
  padding: 3px 7px;
  border-radius: 7px;
  color: #636bd8;
  background: #f0f1ff;
  font-size: 10px;
  font-weight: 650;
}

#view-plaza #plaza-cards .entity-card .card-meta {
  padding-top: 9px;
  border-top: 1px solid #eef0f4;
  color: #7c8599;
  font-size: 11px;
}

#view-plaza #plaza-cards .entity-card .badge {
  padding: 4px 8px;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  box-shadow: 0 4px 12px rgba(23, 31, 56, 0.08);
  backdrop-filter: blur(8px);
}

#view-plaza #plaza-cards .card-mine-tip {
  min-height: 28px;
  margin-top: 8px;
  padding: 5px 7px;
  font-size: 10px;
}

/* 人才广场：频道分段先于搜索，人物卡强调身份与动作 */
#view-plaza.plaza-mode-maker #plaza-hero { order: 1; }
#view-plaza.plaza-mode-maker #maker-plaza-tools { order: 2; }
#view-plaza.plaza-mode-maker #plaza-filters { order: 3; }
#view-plaza.plaza-mode-maker #plaza-mine-banner { order: 4; }
#view-plaza.plaza-mode-maker #plaza-cards,
#view-plaza.plaza-mode-maker #plaza-empty { order: 5; }

#view-plaza.plaza-mode-maker .plaza-filters {
  display: flex;
  justify-content: flex-end;
  min-height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

#view-plaza.plaza-mode-maker .plaza-filters .filter-row {
  flex: 0 1 auto;
}

#view-plaza .maker-plaza-tools {
  margin: 0;
}

#view-plaza .maker-subtabs {
  margin: 0 0 10px;
  padding: 3px;
  border: 1px solid #e4e6ef;
  border-radius: 12px;
  background: #eeeff4;
}

#view-plaza .maker-subtab {
  min-height: 36px;
  padding: 0 14px;
  border-radius: 9px;
  color: #697287;
  font-size: 12px;
}

#view-plaza .maker-subtab.is-on {
  color: #333bb4;
  background: #fff;
  box-shadow: 0 1px 2px rgba(23, 31, 56, 0.05), 0 5px 14px rgba(45, 52, 96, 0.06);
}

#view-plaza .maker-edit-banner {
  min-height: 42px;
  padding: 7px 10px 7px 14px;
  border-color: #e0e2fb;
  border-radius: 12px;
  background: #f5f5ff;
}

#view-plaza .maker-edit-link {
  color: #4b54d1;
  font-size: 12px;
}

#view-plaza.plaza-mode-maker #plaza-cards {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 1.25vw, 20px);
}

#view-plaza #plaza-cards .entity-card--maker {
  height: auto;
  min-height: 288px;
  gap: 12px;
  padding: 16px;
  border: 1px solid #e4e7ef;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 2px 4px rgba(23, 31, 56, 0.02), 0 9px 24px rgba(45, 52, 96, 0.05);
}

#view-plaza #plaza-cards .entity-card--maker:hover {
  transform: translateY(-3px);
  border-color: #d9dcf0;
  box-shadow: var(--plaza-shadow-md);
}

#view-plaza .entity-card--maker .p-avatar,
#view-plaza .entity-card--maker .maker-card-top .p-avatar {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px;
  min-height: 46px;
  box-shadow: 0 5px 14px rgba(48, 57, 120, 0.14);
}

#view-plaza .maker-card-name-row h3 {
  font-family: var(--font) !important;
  color: #1d2740;
  font-size: 14px;
  letter-spacing: 0;
}

#view-plaza .maker-role-badge,
#view-plaza .maker-open-pill {
  padding: 2px 6px;
  font-size: 9px;
}

#view-plaza .maker-card-stats,
#view-plaza .maker-card-bio,
#view-plaza .maker-project-name,
#view-plaza .maker-project-likes {
  font-size: 11px;
}

#view-plaza .maker-card-bio {
  min-height: 3.2em;
  color: #69738b;
  -webkit-line-clamp: 2;
}

#view-plaza .maker-project-box {
  min-height: 42px;
  padding: 8px 10px;
  border-color: #eceef3;
  background: #f7f8fa;
}

#view-plaza .maker-follow-btn,
#view-plaza .maker-apply-link {
  min-height: 32px;
  padding: 0 10px;
  border-radius: 9px;
  font-size: 11px;
  box-shadow: none;
}

#view-plaza .maker-contact-link {
  min-height: 32px;
  padding: 0 4px;
  color: #4d55cd;
  font-size: 11px;
}

#view-plaza .maker-commission-panel {
  padding: 18px;
  border: 1px solid var(--plaza-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: none;
}

/* 社区 */
#view-forum {
  width: 100%;
  max-width: 1760px;
  margin: 0 auto;
  color: var(--plaza-ink);
}

#view-forum.active {
  display: block;
}

#view-forum .forum-hero {
  min-height: 128px;
  margin: 0 0 14px;
  padding: 22px clamp(22px, 2vw, 34px);
  align-items: center;
  border: 1px solid var(--plaza-line);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(249,250,255,.96));
  box-shadow: var(--plaza-shadow-sm);
}

#view-forum .forum-hero .eyebrow {
  margin: 0 0 4px;
  color: #7b8297;
  font-size: 10px;
  letter-spacing: 0.16em;
}

#view-forum .forum-hero h1 {
  margin: 0 0 7px;
  color: #151d31;
  font-size: clamp(32px, 2.5vw, 42px);
  line-height: 1.15;
  letter-spacing: 0.02em;
}

#view-forum .forum-hero .hero-sub {
  color: var(--plaza-muted);
  font-size: 13px;
  line-height: 1.55;
}

#view-forum .forum-hero-actions .btn {
  min-height: 42px;
  padding: 0 16px;
  border-radius: 11px;
  font-size: 13px;
  box-shadow: none;
}

#view-forum .forum-layout {
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 14px;
}

#view-forum .forum-boards {
  top: 94px;
  padding: 12px;
  border: 1px solid var(--plaza-line);
  border-radius: 16px;
  background: rgba(255,255,255,.9);
  box-shadow: none;
  backdrop-filter: blur(14px);
}

#view-forum .forum-boards h3 {
  margin: 0 0 7px;
  padding: 0 8px;
  color: #8a91a3;
  font-size: 10px;
  letter-spacing: 0.12em;
}

#view-forum .board-list {
  gap: 3px;
}

#view-forum .board-item {
  position: relative;
  min-height: 48px;
  padding: 8px 10px;
  border-radius: 10px;
}

#view-forum .board-item b {
  margin: 0 0 1px;
  color: #4b5366;
  font-size: 12px;
  font-weight: 650;
}

#view-forum .board-item small {
  color: #969daf;
  font-size: 10px;
}

#view-forum .board-item.active {
  border-color: #e0e2fb;
  background: #f1f2ff;
}

#view-forum .board-item.active b {
  color: #4048bf;
}

#view-forum .forum-filters {
  margin: 0 0 10px;
  padding: 8px;
  border: 1px solid var(--plaza-line);
  border-radius: 15px;
  background: rgba(255,255,255,.9);
}

#view-forum .forum-filters .filter-row {
  margin: 0;
}

#view-forum .forum-filters .tab {
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: #71798b;
  background: transparent;
  font-size: 12px;
}

#view-forum .forum-filters .tab.active {
  color: #3e46bc;
  border-color: #e0e2fb;
  background: #f1f2ff;
  box-shadow: none;
}

#view-forum .forum-filters .filter-advanced {
  margin-top: 8px;
  border-color: #e7e9f0;
  background: #fafbfc;
  box-shadow: none;
}

#view-forum .post-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

#view-forum .post-card {
  min-height: 122px;
  padding: 15px 18px;
  border: 1px solid #e4e7ef;
  border-radius: 15px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 2px 4px rgba(23, 31, 56, 0.02), 0 8px 22px rgba(45, 52, 96, 0.04);
  backdrop-filter: none;
  transition: transform 200ms cubic-bezier(.2,.8,.2,1), border-color 200ms ease, box-shadow 200ms ease;
}

#view-forum .post-card:hover {
  transform: translateY(-2px);
  border-color: #d7daf0;
  box-shadow: 0 14px 34px rgba(45, 52, 96, 0.09);
}

#view-forum .post-card-top {
  margin-bottom: 6px;
}

#view-forum .post-card .badge {
  padding: 2px 7px;
  border-radius: 7px;
  font-size: 9px;
}

#view-forum .post-card h3 {
  margin: 0 0 5px;
  color: #202a43;
  font-family: var(--font) !important;
  font-size: 15px;
  font-weight: 720;
  line-height: 1.45;
  letter-spacing: 0;
}

#view-forum .post-card > p {
  margin: 0 0 7px;
  color: #8a92a4;
  font-size: 11px;
}

#view-forum .post-card-meta {
  gap: 6px 10px;
  color: #7d869a;
  font-size: 10px;
}

#view-forum .post-card-meta .tags i {
  padding: 2px 6px;
  border-radius: 6px;
  color: #6068d2;
  background: #f0f1ff;
  font-size: 9px;
}

/* 键盘焦点与有意义的轻动效 */
body:has(#view-plaza.active) :is(button, [data-go], input):focus-visible,
body:has(#view-forum.active) :is(button, [data-go], input):focus-visible {
  outline: 2px solid rgba(90, 99, 242, 0.78);
  outline-offset: 2px;
}

#view-plaza.active .plaza-masthead,
#view-forum.active .forum-hero {
  animation: plaza-stage-in 420ms cubic-bezier(.2,.8,.2,1) both;
}

#view-plaza #plaza-cards .entity-card,
#view-forum .post-card {
  animation: plaza-card-in 420ms cubic-bezier(.2,.8,.2,1) both;
}

#view-plaza #plaza-cards .entity-card:nth-child(2),
#view-forum .post-card:nth-child(2) { animation-delay: 35ms; }
#view-plaza #plaza-cards .entity-card:nth-child(3),
#view-forum .post-card:nth-child(3) { animation-delay: 70ms; }
#view-plaza #plaza-cards .entity-card:nth-child(4),
#view-forum .post-card:nth-child(4) { animation-delay: 105ms; }

@keyframes plaza-stage-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes plaza-card-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* 大屏不盲目拉宽：作品四列、社区双列；中屏自然收束 */
@media (min-width: 1540px) {
  #view-forum .post-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1320px) {
  body:has(#view-plaza.active) #main-topbar .plaza-channel,
  body:has(#view-forum.active) #main-topbar .plaza-channel {
    padding-inline: 10px;
  }

  #view-plaza #plaza-cards,
  #view-plaza.plaza-mode-maker #plaza-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1080px) {
  body:has(#view-plaza.active) #main-topbar,
  body:has(#view-forum.active) #main-topbar {
    grid-template-columns: auto minmax(0, 1fr);
  }

  body:has(#view-plaza.active) #main-topbar .top-actions,
  body:has(#view-forum.active) #main-topbar .top-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }

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

@media (max-width: 900px) {
  #view-plaza #plaza-cards,
  #view-plaza.plaza-mode-maker #plaza-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-plaza .plaza-filters {
    grid-template-columns: 1fr;
  }

  #view-plaza .plaza-filters .filter-row,
  #view-plaza .plaza-filters .filter-subrow {
    grid-column: 1;
    grid-row: auto;
  }

  #view-plaza .plaza-filters .filter-row-right {
    justify-content: space-between;
  }

  #view-forum .forum-layout {
    grid-template-columns: 1fr;
  }

  #view-forum .forum-boards {
    position: static;
  }

  #view-forum .board-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .app:has(#view-plaza.active),
  .app:has(#view-forum.active) {
    padding: 8px 10px 28px;
  }

  body:has(#view-plaza.active) #main-topbar,
  body:has(#view-forum.active) #main-topbar {
    top: 8px;
    grid-template-columns: 1fr;
  }

  body:has(#view-plaza.active) #main-topbar .brand,
  body:has(#view-forum.active) #main-topbar .brand {
    display: none;
  }

  body:has(#view-plaza.active) #main-topbar .top-actions,
  body:has(#view-forum.active) #main-topbar .top-actions {
    display: none;
  }

  #view-plaza .plaza-masthead-main,
  #view-forum .forum-hero {
    padding: 20px 18px;
  }

  #view-plaza .plaza-masthead-brand h1 {
    font-size: 34px;
  }

  #view-plaza #plaza-cards,
  #view-plaza.plaza-mode-maker #plaza-cards,
  #view-forum .post-list {
    grid-template-columns: 1fr;
  }

  #view-plaza .plaza-filters .filter-row-right,
  #view-forum .forum-filters .filter-row {
    align-items: stretch;
    flex-wrap: wrap;
  }

  #view-plaza .search-box,
  #view-forum .search-box,
  #view-plaza .search-box input,
  #view-forum .search-box input {
    width: 100%;
  }

  #view-forum .forum-hero {
    align-items: flex-start;
  }

  #view-forum .board-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  #view-plaza *,
  #view-forum * {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
