:root {
  --community-bg: linear-gradient(135deg, rgba(5,12,28,.92), rgba(20,42,74,.82));
  --community-card: rgba(255,255,255,.12);
  --community-border: rgba(255,255,255,.2);
  --community-text: #f8fbff;
  --community-muted: rgba(248,251,255,.72);
  --community-accent: #68e1fd;
}
.community-page {
  min-height: 100vh;
  color: var(--community-text);
  background: var(--community-bg), url('/static/default-bg.jpg');
  background-size: cover;
  background-attachment: fixed;
  font-family: Inter, 'Microsoft YaHei', system-ui, sans-serif;
}
.community-shell { width: min(1180px, calc(100% - 32px)); margin: 0 auto; padding: 32px 0 56px; }
.community-top { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:22px; }
.community-top h1 { margin:0; font-size: clamp(28px, 5vw, 52px); }
.community-top p { margin: 8px 0 0; color: var(--community-muted); }
.community-nav { display:flex; gap:10px; flex-wrap:wrap; }
.community-nav a, .community-btn { border:1px solid var(--community-border); color:var(--community-text); background:rgba(255,255,255,.12); border-radius:999px; padding:10px 16px; text-decoration:none; cursor:pointer; }
.community-btn.primary { background: linear-gradient(135deg, #4fd1ff, #7c5cff); border:0; color:white; font-weight:700; }
.community-grid { display:grid; grid-template-columns: 320px minmax(0,1fr); gap:18px; }
.community-card { background:var(--community-card); border:1px solid var(--community-border); border-radius:24px; backdrop-filter: blur(18px); box-shadow:0 24px 80px rgba(0,0,0,.24); padding:18px; }
.community-list { display:flex; flex-direction:column; gap:10px; max-height:64vh; overflow:auto; padding-right:4px; }
.community-item { border:1px solid rgba(255,255,255,.14); border-radius:18px; padding:12px; background:rgba(0,0,0,.16); cursor:pointer; }
.community-item.active { outline:2px solid var(--community-accent); }
.community-muted { color: var(--community-muted); }
.community-form { display:flex; gap:10px; margin:12px 0; }
.community-form input, .community-form textarea, .community-token { width:100%; border:1px solid var(--community-border); border-radius:16px; padding:12px 14px; background:rgba(0,0,0,.2); color:var(--community-text); outline:none; }
.community-form textarea { min-height:84px; resize:vertical; }
.message-box { display:flex; flex-direction:column; gap:10px; max-height:56vh; overflow:auto; padding:8px; }
.message-bubble { max-width:78%; padding:10px 14px; border-radius:18px; background:rgba(255,255,255,.16); white-space:pre-wrap; }
.message-bubble.mine { align-self:flex-end; background:linear-gradient(135deg,#22d3ee,#6366f1); }
@media (max-width: 860px) { .community-grid { grid-template-columns:1fr; } .community-top { align-items:flex-start; flex-direction:column; } }


.community-page {
  max-width: 1180px;
  margin: 0 auto;
  padding: 34px 24px 56px;
}

.community-hero {
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: clamp(26px, 4vw, 46px);
  background: linear-gradient(135deg, #f8fbff, #eaf3ff);
  box-shadow: 0 16px 40px rgba(15, 71, 169, 0.08);
}

.community-hero h1 {
  margin: 8px 0 12px;
  font-size: clamp(36px, 6vw, 64px);
}

.community-hero p:last-child,
.community-muted {
  color: var(--muted);
  line-height: 1.7;
}

.community-panel {
  margin-top: 24px;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 22px;
  background: #fff;
}

.community-panel-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 18px;
}

.community-panel-head h2 {
  margin-bottom: 8px;
}

.community-panel-head p {
  margin: 0;
  color: var(--muted);
}

.community-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 9px 14px;
  border-radius: 999px;
  color: #fff;
  font-weight: 800;
  background: linear-gradient(135deg, var(--blue-800), var(--blue-700));
}

.community-link {
  color: var(--blue-700);
  font-weight: 800;
}

.article-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 14px;
}

.article-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 16px;
  background: #fbfdff;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.article-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(15, 71, 169, 0.12);
}

.article-card h3 {
  margin: 0 0 8px;
  font-size: 22px;
}

.article-card p {
  color: var(--muted);
  line-height: 1.65;
}

.article-meta,
.article-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  color: var(--muted);
  font-size: 13px;
}

.article-tag {
  border-radius: 999px;
  padding: 3px 9px;
  background: #eef5ff;
  color: #235da8;
  font-weight: 700;
}

.article-detail {
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: clamp(22px, 4vw, 42px);
  background: #fff;
}

.article-detail h1 {
  margin: 10px 0 12px;
  font-size: clamp(32px, 5vw, 56px);
}

.article-body {
  margin-top: 24px;
  line-height: 1.85;
  font-size: 17px;
}

.article-body pre {
  overflow-x: auto;
  border-radius: 14px;
  padding: 16px;
  background: #0d1830;
  color: #eff6ff;
}

.article-body code {
  font-family: Consolas, Menlo, monospace;
}

.article-body blockquote {
  margin: 16px 0;
  padding: 8px 16px;
  border-left: 4px solid var(--blue-700);
  background: #f4f8ff;
  color: #314764;
}

.article-body img {
  max-width: 100%;
  border-radius: 14px;
  border: 1px solid var(--line);
}

.profile-card {
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: clamp(24px, 4vw, 42px);
  background: #fff;
  box-shadow: 0 16px 40px rgba(15, 71, 169, 0.08);
}

.profile-head {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}

.profile-avatar {
  width: 96px;
  height: 96px;
  flex: 0 0 96px;
  border-radius: 28px;
  object-fit: cover;
  border: 1px solid var(--line);
  background: #eef5ff;
}

.profile-avatar-fallback {
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 42px;
  font-weight: 900;
  background: linear-gradient(135deg, var(--blue-800), var(--blue-700));
}

.profile-main h1 {
  margin: 2px 0 4px;
  font-size: clamp(32px, 5vw, 54px);
}

.profile-main p {
  margin: 8px 0;
  line-height: 1.7;
}

.profile-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 12px;
  margin-top: 24px;
}

.profile-stat {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px;
  background: #f8fbff;
}

.profile-stat strong {
  display: block;
  color: var(--blue-700);
  font-size: 28px;
}

.profile-stat span {
  color: var(--muted);
  font-weight: 700;
}

.profile-edit {
  margin-top: 28px;
  border-top: 1px solid var(--line);
  padding-top: 22px;
}

.profile-edit h2 {
  margin-bottom: 14px;
  font-size: 28px;
}

.profile-edit input,
.profile-edit textarea {
  width: 100%;
  margin-bottom: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 11px 12px;
  font: inherit;
}

.profile-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.editor-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
  gap: 18px;
  margin-top: 24px;
}

.editor-form,
.editor-preview {
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 18px;
  background: #fff;
}

.editor-form input,
.editor-form textarea {
  width: 100%;
  margin-bottom: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 11px 12px;
  font: inherit;
}

.editor-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.editor-toolbar {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.community-button.secondary {
  color: #235da8;
  background: #eef5ff;
}

.editor-upload input {
  display: none;
}

.markdown-input {
  min-height: 420px;
  font-family: Consolas, Menlo, monospace;
}

.editor-preview {
  position: sticky;
  top: 88px;
  max-height: calc(100vh - 112px);
  overflow: auto;
}

.editor-preview h2 {
  margin-bottom: 12px;
  font-size: 28px;
}

@media (max-width: 880px) {
  .editor-layout {
    grid-template-columns: 1fr;
  }

  .editor-preview {
    position: static;
    max-height: none;
  }
}

@media (max-width: 720px) {
  .community-panel-head {
    display: block;
  }

  .community-button {
    margin-top: 12px;
  }

  .profile-head {
    display: block;
  }

  .profile-avatar {
    margin-bottom: 14px;
  }

  .editor-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
}


/* grand blog/editor/profile integration */
.community-shell.narrow { width: min(920px, calc(100% - 32px)); }
.community-hero, .community-panel, .article-detail, .profile-card, .editor-form, .editor-preview { background: var(--community-card); border: 1px solid var(--community-border); color: var(--community-text); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.community-hero { margin-bottom: 18px; }
.community-actions, .article-actions, .profile-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:18px; }
.community-layout-two { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:18px; margin-top:18px; }
.community-panel-head.stacked { display:block; }
.community-results { margin-top:12px; }
.article-grid.small { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.article-card { color: var(--community-text); background: rgba(0,0,0,.18); }
.article-card.compact { padding: 13px; }
.article-cover { width:100%; height:150px; object-fit:cover; border-radius:14px; margin-bottom:12px; border:1px solid rgba(255,255,255,.14); }
.article-hero-cover { max-width:100%; border-radius:16px; border:1px solid rgba(255,255,255,.16); display:block; margin:16px auto; }
.article-body p, .article-body li { color: var(--community-text); }
.comment-panel { margin-top:18px; }
.comment-list { display:flex; flex-direction:column; gap:12px; }
.comment-item { border:1px solid rgba(255,255,255,.14); border-radius:16px; padding:12px; background:rgba(0,0,0,.16); }
.comment-head { display:flex; justify-content:space-between; gap:12px; color:var(--community-muted); font-size:13px; margin-bottom:8px; }
.comment-head strong { color:var(--community-text); font-size:15px; }
.comment-item p { white-space:pre-wrap; margin:0; line-height:1.7; }
.comment-form { align-items:flex-end; }
.user-result-list { display:grid; gap:10px; }
.user-result { border:1px solid rgba(255,255,255,.14); border-radius:14px; padding:10px 12px; background:rgba(0,0,0,.16); display:flex; justify-content:space-between; gap:12px; }
.community-form input, .community-form textarea, .editor-form input, .editor-form textarea, .profile-edit input, .profile-edit textarea { background:rgba(0,0,0,.22); color:var(--community-text); border-color:var(--community-border); }
.community-form input::placeholder, .community-form textarea::placeholder, .editor-form input::placeholder, .editor-form textarea::placeholder, .profile-edit input::placeholder, .profile-edit textarea::placeholder { color: rgba(248,251,255,.55); }
@media (max-width: 960px) { .community-layout-two, .editor-layout { grid-template-columns:1fr; } .editor-preview { position:static; max-height:none; } }
@media (max-width: 720px) { .community-form.comment-form { flex-direction:column; align-items:stretch; } }


/* Polished blog plaza: cnblogs/SimpleMemory-inspired clean technical blog layout. */
body.blog-home,
.blog-home.community-page {
  max-width: none !important;
  width: 100% !important;
  min-height: 100vh;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden;
  color: #12223a;
  background:
    radial-gradient(circle at 8% 10%, rgba(71, 143, 255, 0.22), transparent 30%),
    radial-gradient(circle at 88% 18%, rgba(112, 228, 255, 0.26), transparent 28%),
    linear-gradient(180deg, #edf5ff 0%, #f7fbff 42%, #eef5ff 100%) !important;
  font-family: "Microsoft YaHei", "PingFang SC", "Segoe UI", system-ui, sans-serif;
}
.blog-home .blog-topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(10, 36, 78, 0.86);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 10px 28px rgba(20, 60, 118, 0.18);
}
.blog-home .blog-topbar-inner {
  max-width: 1800px;
  min-height: 66px;
}
.blog-home .blog-nav a {
  border-radius: 999px;
  color: rgba(255,255,255,.9);
}
.blog-home .blog-nav a.active,
.blog-home .blog-nav a:hover {
  background: rgba(255,255,255,.18);
  color: #fff;
}
.blog-shell {
  width: min(1800px, calc(100vw - 24px));
  margin: 0 auto;
  padding: 18px 0 28px;
}
.blog-hero-card {
  min-height: clamp(210px, 22vw, 330px);
  border: 1px solid rgba(64, 117, 192, 0.16);
  border-radius: 28px;
  padding: clamp(28px, 4vw, 58px);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  overflow: hidden;
  position: relative;
  color: #fff;
  background:
    linear-gradient(105deg, rgba(6, 23, 53, .94), rgba(16, 75, 157, .76) 56%, rgba(62, 169, 255, .62)),
    radial-gradient(circle at 82% 16%, rgba(255,255,255,.44), transparent 20%);
  box-shadow: 0 28px 68px rgba(28, 84, 168, 0.28);
}
.blog-hero-card::before {
  content: "";
  position: absolute;
  inset: -20% -8% auto auto;
  width: 430px;
  height: 430px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(112,228,255,.44), transparent 62%);
  filter: blur(4px);
}
.blog-hero-card > * { position: relative; z-index: 1; }
.blog-eyebrow {
  margin: 0 0 10px;
  color: #3b7feb;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
}
.blog-hero-card .blog-eyebrow { color: rgba(222, 246, 255, .88); }
.blog-hero-card h1 {
  max-width: 860px;
  margin: 0;
  font-size: clamp(36px, 5.6vw, 82px);
  line-height: 1.02;
  letter-spacing: -0.06em;
}
.blog-hero-desc {
  max-width: 720px;
  margin: 18px 0 0;
  color: rgba(255,255,255,.84);
  line-height: 1.8;
  font-size: clamp(15px, 1.2vw, 18px);
}
.blog-hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  min-width: 260px;
}
.blog-dashboard {
  margin-top: 18px;
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(520px, 1fr) minmax(260px, 340px);
  gap: 18px;
  align-items: start;
}
.blog-sidebar {
  display: grid;
  gap: 16px;
  position: sticky;
  top: 84px;
}
.blog-widget,
.blog-main-feed {
  border: 1px solid rgba(68, 118, 190, 0.16);
  border-radius: 22px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 18px 46px rgba(31, 86, 168, 0.10);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.blog-widget {
  padding: 18px;
}
.blog-widget h2,
.blog-widget h3 {
  margin: 0 0 10px;
  color: #11213a;
}
.blog-widget p,
.blog-muted {
  color: #64748b;
  line-height: 1.75;
}
.blogger-widget {
  text-align: center;
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(240,248,255,.86));
}
.blogger-avatar {
  width: 78px;
  height: 78px;
  margin: 0 auto 12px;
  border-radius: 24px;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 42px;
  font-weight: 1000;
  background: linear-gradient(135deg, #0f47a9, #3ea9ff 70%, #70e4ff);
  box-shadow: 0 16px 32px rgba(31, 105, 217, .28);
}
.blogger-stats {
  margin-top: 16px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.blogger-stats span {
  border-radius: 16px;
  padding: 12px 8px;
  background: #eef6ff;
  color: #46617f;
  font-weight: 800;
}
.blogger-stats b {
  display: block;
  color: #0f47a9;
  font-size: 24px;
}
.quick-widget a {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  margin-top: 8px;
  padding: 10px 12px;
  border-radius: 14px;
  color: #17345c;
  background: #f3f8ff;
  border: 1px solid rgba(31, 105, 217, .10);
  font-weight: 800;
}
.quick-widget a:hover { background: #e8f2ff; color: #0f47a9; }
.tip-widget { background: linear-gradient(160deg, rgba(15,71,169,.94), rgba(62,169,255,.86)); color: #fff; }
.tip-widget h3, .tip-widget p { color: #fff; }
.blog-main-feed { padding: clamp(16px, 2vw, 24px); }
.blog-feed-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(68, 118, 190, 0.12);
}
.blog-feed-toolbar h2 {
  margin: 0 0 6px;
  color: #11213a;
  font-size: clamp(28px, 3vw, 42px);
}
.blog-feed-toolbar p:last-child {
  margin: 0;
  color: #64748b;
}
.blog-sort-pills {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.blog-sort-pills span {
  border: 1px solid rgba(31, 105, 217, .15);
  border-radius: 999px;
  padding: 8px 12px;
  color: #41617f;
  background: #f3f8ff;
  font-weight: 900;
  font-size: 13px;
}
.blog-sort-pills .on {
  color: #fff;
  background: linear-gradient(135deg, #0f47a9, #3ea9ff);
}
.blog-feed-list {
  display: grid;
  gap: 14px;
}
.blog-post-card {
  display: grid;
  grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
  gap: 18px;
  padding: 16px;
  border: 1px solid rgba(68, 118, 190, 0.13);
  border-radius: 20px;
  background: linear-gradient(180deg, #fff, #fbfdff);
  box-shadow: 0 14px 32px rgba(31, 86, 168, 0.08);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.blog-post-card:hover {
  transform: translateY(-3px);
  border-color: rgba(62, 169, 255, .42);
  box-shadow: 0 24px 48px rgba(31, 86, 168, 0.15);
}
.blog-post-media { display: block; min-height: 150px; }
.blog-post-cover {
  width: 100%;
  height: 100%;
  min-height: 150px;
  border-radius: 16px;
  object-fit: cover;
  display: block;
  background: #eaf3ff;
}
.blog-post-cover.fallback {
  display: grid;
  place-items: center;
  color: #fff;
  background:
    radial-gradient(circle at 25% 20%, rgba(255,255,255,.34), transparent 28%),
    linear-gradient(135deg, #123b78, #2b85ed 62%, #70e4ff);
}
.blog-post-cover.fallback span {
  font-size: clamp(42px, 5vw, 70px);
  font-weight: 1000;
}
.blog-post-meta,
.blog-post-footer,
.blog-post-stats,
.blog-tags-inline {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.blog-post-meta {
  color: #6b7f99;
  font-size: 13px;
  font-weight: 800;
}
.blog-post-meta span:first-child {
  color: #0f47a9;
  background: #eaf3ff;
  border-radius: 999px;
  padding: 3px 9px;
}
.blog-post-body h3 {
  margin: 10px 0 8px;
  color: #101f35;
  font-size: clamp(21px, 2vw, 30px);
  line-height: 1.25;
}
.blog-post-body h3 a:hover { color: #0f65cf; }
.blog-post-body p {
  margin: 0;
  color: #53657c;
  line-height: 1.82;
}
.blog-post-footer {
  justify-content: space-between;
  margin-top: 14px;
}
.blog-tags-inline span,
.blog-tag-cloud span {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 5px 10px;
  color: #1a5fbb;
  background: #ecf5ff;
  border: 1px solid rgba(31, 105, 217, .12);
  font-size: 12px;
  font-weight: 900;
}
.blog-post-stats {
  color: #71839b;
  font-size: 13px;
  font-weight: 800;
}
.blog-search-box {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
}
.blog-search-box input {
  min-width: 0;
  border: 1px solid #d5e4f7;
  border-radius: 14px;
  padding: 11px 12px;
  color: #12223a;
  background: #fff;
}
.blog-search-box button {
  border: 0;
  border-radius: 14px;
  padding: 0 14px;
  color: #fff;
  font-weight: 900;
  background: linear-gradient(135deg, #0f47a9, #3ea9ff);
  cursor: pointer;
}
.blog-search-results,
.blog-recommend-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.blog-search-section h4 {
  margin: 12px 0 8px;
  color: #10233f;
}
.blog-search-hit,
.blog-rank-item {
  display: grid;
  gap: 4px;
  padding: 11px 12px;
  border-radius: 14px;
  color: #17345c;
  background: #f5f9ff;
  border: 1px solid rgba(31, 105, 217, .10);
}
.blog-search-hit:hover,
.blog-rank-item:hover { background: #eaf3ff; }
.blog-search-hit span,
.blog-rank-item em {
  color: #71839b;
  font-size: 12px;
  font-style: normal;
}
.blog-rank-item {
  grid-template-columns: 30px 1fr;
  align-items: start;
}
.blog-rank-item b {
  width: 26px;
  height: 26px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, #0f47a9, #3ea9ff);
}
.blog-rank-item span { min-width: 0; }
.blog-rank-item strong {
  display: block;
  color: #17345c;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.blog-tag-cloud { display: flex; flex-wrap: wrap; gap: 8px; }
.blog-empty,
.blog-skeleton {
  border-radius: 20px;
  background: #f5f9ff;
  border: 1px dashed rgba(31, 105, 217, .18);
  padding: 28px;
}
.blog-empty { text-align: center; color: #64748b; }
.blog-skeleton {
  height: 184px;
  background: linear-gradient(90deg, #f4f8ff 0%, #eaf3ff 45%, #f4f8ff 100%);
  background-size: 220% 100%;
  animation: blogSkeleton 1.4s ease infinite;
}
@keyframes blogSkeleton { from { background-position: 100% 0; } to { background-position: -100% 0; } }
@media (max-width: 1280px) {
  .blog-dashboard { grid-template-columns: minmax(0, 1fr) 320px; }
  .blog-sidebar.left { grid-column: 1 / -1; position: static; grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .blog-dashboard { grid-template-columns: 1fr; }
  .blog-sidebar, .blog-sidebar.left { position: static; grid-template-columns: 1fr; }
  .blog-hero-card { display: block; }
  .blog-hero-actions { justify-content: flex-start; margin-top: 18px; }
}
@media (max-width: 720px) {
  .blog-shell { width: min(100vw - 14px, 100%); padding-top: 10px; }
  .blog-post-card { grid-template-columns: 1fr; }
  .blog-post-media, .blog-post-cover { min-height: 190px; }
  .blog-feed-toolbar { display: block; }
  .blog-sort-pills { justify-content: flex-start; margin-top: 12px; }
  .blog-search-box { grid-template-columns: 1fr; }
}


/* WeChat-like friend request, friend list, private chat and group chat UI. */
.wechat-page.community-page {
  max-width: none !important;
  width: 100% !important;
  min-height: 100vh;
  margin: 0 !important;
  padding: 0 !important;
  color: #10233f;
  background:
    radial-gradient(circle at 10% 10%, rgba(72, 153, 255, .20), transparent 32%),
    radial-gradient(circle at 90% 16%, rgba(112, 228, 255, .25), transparent 28%),
    linear-gradient(180deg, #edf5ff 0%, #f8fbff 52%, #eef5ff 100%) !important;
}
.wechat-shell { width: min(1800px, calc(100vw - 24px)); margin: 0 auto; padding: 24px 0 34px; }
.wechat-top { display:flex; justify-content:space-between; align-items:flex-end; gap:18px; margin-bottom:18px; padding:24px; border-radius:28px; color:#fff; background:linear-gradient(115deg, rgba(6,23,53,.96), rgba(15,71,169,.82), rgba(62,169,255,.62)); box-shadow:0 28px 68px rgba(28,84,168,.25); }
.wechat-kicker { margin:0 0 8px; color:rgba(222,246,255,.88); font-size:12px; font-weight:1000; letter-spacing:.18em; }
.wechat-top h1 { margin:0; font-size:clamp(34px, 5vw, 72px); line-height:1; letter-spacing:-.05em; }
.wechat-top p:last-child { margin:12px 0 0; color:rgba(255,255,255,.82); line-height:1.7; }
.wechat-layout { display:grid; grid-template-columns: minmax(340px, 430px) minmax(0, 1fr); gap:18px; align-items:stretch; }
.wechat-panel { display:grid; gap:14px; align-content:start; }
.wechat-card, .wechat-chat-panel { border:1px solid rgba(68,118,190,.16); border-radius:24px; background:rgba(255,255,255,.9); box-shadow:0 18px 46px rgba(31,86,168,.10); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
.wechat-card { padding:18px; }
.wechat-card h2, .wechat-card h3 { margin:0 0 12px; color:#10233f; }
.wechat-muted { color:#64748b; line-height:1.7; }
.wechat-badge { display:inline-grid; place-items:center; min-width:28px; height:28px; padding:0 9px; border-radius:999px; color:#fff; background:linear-gradient(135deg,#0f47a9,#3ea9ff); font-weight:900; }
.wechat-form { display:grid; gap:10px; }
.wechat-form input, .wechat-form textarea, .wechat-message-form textarea { width:100%; border:1px solid #d5e4f7; border-radius:16px; padding:12px 14px; color:#12223a; background:#fff; font:inherit; outline:none; }
.wechat-form textarea { min-height:76px; resize:vertical; }
.wechat-section-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; }
.friend-list, .friend-request-list, .friend-check-list { display:grid; gap:10px; max-height:38vh; overflow:auto; padding-right:3px; }
.friend-item, .friend-request, .friend-check { display:grid; grid-template-columns:46px minmax(0,1fr); gap:10px; align-items:center; width:100%; border:1px solid rgba(31,105,217,.12); border-radius:18px; padding:11px; color:#17345c; background:#f7fbff; text-align:left; cursor:pointer; }
.friend-item:hover, .friend-item.active, .friend-check:hover { border-color:rgba(62,169,255,.5); background:#ecf6ff; }
.friend-avatar { width:46px; height:46px; border-radius:16px; display:grid; place-items:center; color:#fff; font-weight:1000; background:linear-gradient(135deg,#0f47a9,#3ea9ff 70%,#70e4ff); box-shadow:0 10px 22px rgba(31,105,217,.22); }
.friend-item strong, .friend-request strong, .friend-check strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#10233f; }
.friend-item em, .friend-check em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#71839b; font-style:normal; font-size:12px; }
.friend-request { grid-template-columns:46px 1fr; cursor:default; }
.friend-request p { margin:4px 0 8px; color:#64748b; }
.friend-request-actions { display:flex; gap:8px; flex-wrap:wrap; }
.wechat-chat-panel { min-height:680px; display:grid; grid-template-rows:auto auto minmax(280px, 1fr) auto auto; padding:18px; }
.chat-titlebar { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; padding-bottom:14px; border-bottom:1px solid rgba(68,118,190,.13); }
.chat-titlebar h2 { margin:0 0 6px; color:#10233f; font-size:clamp(24px,3vw,38px); }
.conversation-strip { display:flex; gap:8px; overflow:auto; padding:12px 0; }
.conversation-pill { flex:0 0 auto; border:1px solid rgba(31,105,217,.12); border-radius:999px; padding:8px 12px; color:#17345c; background:#f5f9ff; font-weight:800; cursor:pointer; }
.conversation-pill.active { color:#fff; background:linear-gradient(135deg,#0f47a9,#3ea9ff); }
.conversation-pill em { margin-left:6px; font-style:normal; opacity:.76; }
.wechat-message-box { max-height:none; min-height:300px; border-radius:22px; background:linear-gradient(180deg,#f5f9ff,#eef6ff); border:1px solid rgba(31,105,217,.10); }
.wechat-message-box .message-bubble { color:#10233f; background:#fff; box-shadow:0 10px 24px rgba(31,86,168,.08); }
.wechat-message-box .message-bubble.mine { color:#fff; background:linear-gradient(135deg,#20c997,#2f9bff); }
.wechat-message-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; margin-top:12px; align-items:end; }
.wechat-message-form textarea { min-height:72px; resize:vertical; }
.empty-chat { text-align:center; padding:36px 0; }
.friend-check { grid-template-columns:22px 42px minmax(0,1fr) auto; cursor:pointer; }
.friend-check input { width:18px; height:18px; accent-color:#1f69d9; }
.friend-check .friend-avatar { width:42px; height:42px; border-radius:14px; }
.friend-check-list.compact { max-height:160px; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); }
.invite-card { margin-bottom:12px; }
.group-layout .wechat-chat-panel { grid-template-rows:auto auto minmax(260px, 1fr) auto auto; }
@media (max-width: 1080px) { .wechat-layout { grid-template-columns:1fr; } .wechat-chat-panel { min-height:560px; } }
@media (max-width: 700px) { .wechat-shell { width:min(100vw - 14px,100%); padding-top:12px; } .wechat-top { display:block; padding:20px; } .wechat-top .community-nav { margin-top:14px; } .wechat-message-form { grid-template-columns:1fr; } .friend-check-list.compact { grid-template-columns:1fr; } }


/* Mature account center inspired by GitHub/CSDN/Juejin profile settings. */
.account-page.community-page {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 100vh;
  color: #10233f;
  background:
    radial-gradient(circle at 10% 10%, rgba(72,153,255,.20), transparent 32%),
    radial-gradient(circle at 88% 18%, rgba(112,228,255,.24), transparent 28%),
    linear-gradient(180deg, #edf5ff 0%, #f8fbff 52%, #eef5ff 100%) !important;
}
.account-topbar { background: rgba(10,36,78,.88); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.account-topbar .nav a.active { background: rgba(255,255,255,.18); color:#fff; }
.account-shell { width: min(1600px, calc(100vw - 24px)); margin: 0 auto; padding: 22px 0 36px; }
.account-hero { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:18px; align-items:stretch; margin-bottom:18px; }
.account-profile-card, .account-stat-grid, .account-panel, .account-tabs { border:1px solid rgba(68,118,190,.16); border-radius:28px; background:rgba(255,255,255,.9); box-shadow:0 18px 46px rgba(31,86,168,.10); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.account-profile-card { display:grid; grid-template-columns:112px 1fr; gap:20px; align-items:center; padding:26px; color:#fff; background:linear-gradient(115deg, rgba(6,23,53,.96), rgba(15,71,169,.82), rgba(62,169,255,.62)); }
.account-profile-card h1 { margin:0; font-size:clamp(34px,5vw,66px); line-height:1; letter-spacing:-.05em; }
.account-profile-card p { color:rgba(255,255,255,.84); line-height:1.7; }
.account-avatar { width:88px; height:88px; border-radius:28px; overflow:hidden; display:grid; place-items:center; color:#fff; font-size:40px; font-weight:1000; background:linear-gradient(135deg,#0f47a9,#3ea9ff 70%,#70e4ff); box-shadow:0 16px 32px rgba(31,105,217,.28); }
.account-avatar.large { width:120px; height:120px; border-radius:34px; font-size:52px; }
.account-avatar img { width:100%; height:100%; object-fit:cover; display:block; }
.account-hero-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
.account-stat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding:18px; }
.account-stat-grid div { border-radius:20px; background:#f1f7ff; display:grid; place-items:center; padding:18px 8px; }
.account-stat-grid b { color:#0f47a9; font-size:34px; line-height:1; }
.account-stat-grid span { color:#64748b; font-weight:900; margin-top:8px; }
.account-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:18px; align-items:start; }
.account-tabs { position:sticky; top:84px; padding:12px; display:grid; gap:8px; }
.account-tabs button { border:0; border-radius:16px; padding:14px 16px; text-align:left; color:#17345c; background:#f5f9ff; font-weight:900; cursor:pointer; }
.account-tabs button.active, .account-tabs button:hover { color:#fff; background:linear-gradient(135deg,#0f47a9,#3ea9ff); }
.account-panels { min-width:0; }
.account-panel { display:none; padding:24px; }
.account-panel.active { display:block; }
.account-panel-head { margin-bottom:18px; padding-bottom:16px; border-bottom:1px solid rgba(68,118,190,.13); }
.account-panel-head h2 { margin:0 0 8px; color:#10233f; font-size:clamp(28px,3vw,42px); }
.account-panel-head p, .account-muted { color:#64748b; line-height:1.75; }
.avatar-uploader { display:flex; align-items:center; gap:18px; padding:18px; border:1px dashed rgba(31,105,217,.22); border-radius:24px; background:#f6faff; margin-bottom:18px; }
.avatar-upload-btn input { display:none; }
.account-form { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.account-form.narrow { max-width:720px; grid-template-columns:1fr; }
.account-form label { color:#314764; font-weight:900; display:grid; gap:8px; }
.account-form label.full { grid-column:1/-1; }
.account-form input, .account-form textarea { width:100%; border:1px solid #d5e4f7; border-radius:16px; padding:12px 14px; color:#12223a; background:#fff; font:inherit; outline:none; }
.account-form input:focus, .account-form textarea:focus { border-color:#3ea9ff; box-shadow:0 0 0 4px rgba(62,169,255,.14); }
.form-actions { grid-column:1/-1; display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:6px; }
.my-article-list { display:grid; gap:12px; margin-top:16px; }
.my-article { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; border:1px solid rgba(31,105,217,.12); border-radius:20px; padding:16px; background:#f7fbff; }
.my-article strong { color:#10233f; font-size:20px; }
.my-article p { color:#64748b; margin:8px 0; line-height:1.7; }
.my-article small { color:#71839b; }
.my-article > div:last-child { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.account-empty { border:1px dashed rgba(31,105,217,.22); border-radius:20px; padding:28px; text-align:center; color:#64748b; background:#f6faff; }
.social-entry-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; }
.social-entry-grid a { display:grid; gap:8px; border:1px solid rgba(31,105,217,.12); border-radius:22px; padding:18px; background:#f7fbff; color:#17345c; transition: transform .18s ease, background .18s ease; }
.social-entry-grid a:hover { transform:translateY(-2px); background:#eaf3ff; }
.social-entry-grid strong { font-size:20px; color:#10233f; }
.social-entry-grid span { color:#64748b; line-height:1.7; }
@media (max-width: 980px) { .account-hero, .account-layout { grid-template-columns:1fr; } .account-tabs { position:static; grid-template-columns:repeat(4,1fr); } }
@media (max-width: 720px) { .account-shell { width:min(100vw - 14px,100%); } .account-profile-card { grid-template-columns:1fr; } .account-stat-grid { grid-template-columns:1fr 1fr 1fr; } .account-tabs { grid-template-columns:1fr 1fr; } .account-form { grid-template-columns:1fr; } .avatar-uploader { display:block; } .avatar-uploader .account-avatar { margin-bottom:14px; } .my-article { grid-template-columns:1fr; } }

/* 2026 social polish: QQ / WeChat inspired chat experience. */
.social-chat-page.wechat-page.community-page {
  background: radial-gradient(circle at 10% 6%, rgba(89,208,255,.34), transparent 34%), radial-gradient(circle at 88% 8%, rgba(80,97,255,.26), transparent 32%), radial-gradient(circle at 70% 92%, rgba(45,212,191,.22), transparent 34%), linear-gradient(135deg,#eef7ff 0%,#f7fbff 42%,#eef4ff 100%);
  color:#10233f;
  font-family: Inter,"PingFang SC","Microsoft YaHei",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.social-chat-page::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(30,86,168,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(30,86,168,.055) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.78),transparent 72%)}
.social-chat-page .wechat-shell{position:relative;z-index:1;width:min(1880px,calc(100vw - 28px));padding:22px 0 30px}
.social-chat-page .social-hero{position:relative;overflow:hidden;min-height:clamp(168px,18vw,260px);align-items:center;border:1px solid rgba(255,255,255,.42);background:linear-gradient(120deg,rgba(7,27,62,.97),rgba(18,93,194,.9) 46%,rgba(51,194,255,.72));box-shadow:0 30px 80px rgba(21,80,170,.25),inset 0 1px 0 rgba(255,255,255,.28)}
.social-chat-page .group-hero{background:linear-gradient(120deg,rgba(18,32,74,.98),rgba(98,65,205,.88) 46%,rgba(49,207,181,.72))}
.social-chat-page .social-hero:before{content:"";position:absolute;width:520px;height:520px;right:-120px;top:-230px;border-radius:999px;background:rgba(255,255,255,.13)}
.social-chat-page .social-hero>*{position:relative;z-index:1}.social-chat-page .social-hero h1{letter-spacing:-.06em;text-shadow:0 18px 42px rgba(0,0,0,.22)}.social-chat-page .social-hero p:last-child{max-width:820px;color:rgba(255,255,255,.86)}
.social-chat-page .social-nav{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.social-chat-page .social-nav a{border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:10px 15px;color:#fff;background:rgba(255,255,255,.12);backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.social-app-layout{grid-template-columns:minmax(320px,440px) minmax(0,1fr);gap:18px;align-items:stretch}.social-sidebar{gap:14px}
.social-chat-page .glass-card,.social-chat-page .wechat-card,.social-chat-page .wechat-chat-panel{border:1px solid rgba(255,255,255,.64);background:linear-gradient(180deg,rgba(255,255,255,.84),rgba(255,255,255,.68));box-shadow:0 22px 60px rgba(28,80,160,.13),inset 0 1px 0 rgba(255,255,255,.55);backdrop-filter:blur(22px) saturate(1.18);-webkit-backdrop-filter:blur(22px) saturate(1.18)}
.social-chat-page .wechat-card{padding:18px}.social-chat-page .compact-head{margin-bottom:14px}.social-chat-page .mini-label{margin:0 0 5px;color:#4182d8;font-size:11px;font-weight:1000;letter-spacing:.17em;text-transform:uppercase}.social-chat-page .wechat-card h2,.social-chat-page .wechat-card h3{margin:0;letter-spacing:-.03em}.social-chat-page .wechat-muted{color:#667b96}.social-chat-page .status-line{min-height:24px;margin:10px 2px 0;font-size:13px}
.social-chat-page .wechat-form input,.social-chat-page .wechat-form textarea,.social-chat-page .wechat-message-form textarea{border:1px solid rgba(91,145,215,.22);background:rgba(255,255,255,.86);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 24px rgba(48,99,170,.05);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.social-chat-page .wechat-form input:focus,.social-chat-page .wechat-form textarea:focus,.social-chat-page .wechat-message-form textarea:focus{border-color:#45a8ff;background:#fff;box-shadow:0 0 0 4px rgba(69,168,255,.13),inset 0 1px 0 #fff}
.social-chat-page .community-btn{border:1px solid rgba(52,110,190,.16);border-radius:15px;box-shadow:0 10px 22px rgba(28,84,168,.08)}.social-chat-page .glow-btn,.social-chat-page .send-btn{background:linear-gradient(135deg,#16c784,#25b4ff 52%,#6266f1);box-shadow:0 16px 38px rgba(37,180,255,.28)}.social-chat-page .ghost-btn{color:#17508f;background:rgba(255,255,255,.72)}.social-chat-page .mini-btn{padding:7px 11px;border-radius:999px;font-size:12px}
.friend-list.contact-list,.request-stack,.group-list{max-height:min(44vh,460px);padding:2px 4px 2px 0;scrollbar-width:thin;scrollbar-color:rgba(31,105,217,.26) transparent}
.social-chat-page .friend-item,.social-chat-page .friend-request,.social-chat-page .friend-check{border:1px solid rgba(76,132,208,.14);background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(246,250,255,.86));box-shadow:0 12px 26px rgba(35,88,163,.07)}
.social-chat-page .contact-card{position:relative;grid-template-columns:50px minmax(0,1fr) 12px;padding:12px;border-radius:20px;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.social-chat-page .contact-card:hover,.social-chat-page .contact-card.active{transform:translateY(-2px);border-color:rgba(52,166,255,.56);background:linear-gradient(180deg,#fff,#eef7ff);box-shadow:0 16px 36px rgba(35,112,208,.16)}.social-chat-page .contact-main{min-width:0;display:block}.social-chat-page .contact-dot{width:9px;height:9px;border-radius:999px;background:#25d366;box-shadow:0 0 0 4px rgba(37,211,102,.12)}
.social-chat-page .friend-avatar,.social-chat-page .conversation-avatar,.social-chat-page .chat-avatar,.social-chat-page .chat-peer-avatar{overflow:hidden;background:linear-gradient(135deg,#1552b6,#30b8ff 62%,#46f0c6);box-shadow:0 12px 28px rgba(25,105,210,.22)}.social-chat-page .friend-avatar img,.social-chat-page .conversation-avatar img,.social-chat-page .chat-avatar img,.social-chat-page .chat-peer-avatar img{width:100%;height:100%;object-fit:cover;display:block}.social-chat-page .friend-avatar.has-img,.social-chat-page .conversation-avatar.has-img,.social-chat-page .chat-avatar.has-img,.social-chat-page .chat-peer-avatar.has-img{background:#e8f2ff}
.conversation-avatar{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;color:#fff;font-weight:1000;flex:0 0 auto}.chat-avatar{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;color:#fff;font-weight:1000;flex:0 0 auto}.chat-peer-avatar{width:60px;height:60px;border-radius:22px;display:grid;place-items:center;color:#fff;font-size:24px;font-weight:1000;flex:0 0 auto}.peer-head{display:flex;align-items:center;gap:14px;min-width:0}
.social-chat-panel{min-height:calc(100vh - 250px);padding:18px;grid-template-rows:auto auto minmax(340px,1fr) auto auto}.social-chat-titlebar{align-items:center;border-bottom:1px solid rgba(72,129,206,.13);padding:2px 2px 16px}.social-chat-titlebar h2{font-size:clamp(25px,2.2vw,42px);letter-spacing:-.05em}
.conversation-dock{gap:10px;padding:14px 2px;scrollbar-width:thin}.conversation-card{display:grid;grid-template-columns:42px minmax(180px,1fr) auto;align-items:center;gap:10px;min-width:280px;border-radius:20px;padding:10px 12px;background:rgba(255,255,255,.76);border:1px solid rgba(76,132,208,.14);color:#132b4f;box-shadow:0 12px 28px rgba(35,88,163,.08)}.conversation-card.active{color:#10233f;background:linear-gradient(135deg,#fff,#e7f5ff);border-color:rgba(55,159,255,.48)}.conversation-main{min-width:0;display:grid;gap:3px;text-align:left}.conversation-main strong,.conversation-main small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.conversation-main small{color:#6c7f98;font-weight:600}.conversation-side{display:grid;justify-items:end;gap:4px;color:#7a8ca4;font-size:11px}.conversation-side em{min-width:20px;height:20px;display:grid;place-items:center;border-radius:999px;color:#fff;background:#ff4d67;font-style:normal;font-weight:1000}.conversation-empty{padding:12px 14px;color:#667b96;border:1px dashed rgba(76,132,208,.28);border-radius:16px;background:rgba(255,255,255,.54)}
.chat-canvas{position:relative;gap:14px;min-height:380px;padding:18px;border-radius:26px;border:1px solid rgba(92,151,222,.15);background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.8),transparent 28%),linear-gradient(180deg,rgba(241,248,255,.96),rgba(232,244,255,.9));box-shadow:inset 0 1px 0 rgba(255,255,255,.82);scrollbar-width:thin}.chat-canvas:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:26px;background-image:radial-gradient(rgba(72,129,206,.12) 1px,transparent 1px);background-size:18px 18px;mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 86%,transparent)}
.chat-row{position:relative;z-index:1;display:flex;gap:10px;align-items:flex-end;max-width:84%}.chat-row.mine{margin-left:auto;flex-direction:row-reverse}.chat-bubble-wrap{min-width:0;display:grid;gap:5px}.chat-meta{display:flex;align-items:center;gap:8px;padding:0 4px;color:#6d7f97;font-size:12px}.chat-row.mine .chat-meta{justify-content:flex-end}.chat-meta strong{color:#334b6b}.chat-meta time{color:#8a9bb0}.chat-canvas .message-bubble{max-width:100%;padding:12px 15px;border-radius:20px 20px 20px 6px;color:#152b4d;background:#fff;box-shadow:0 12px 28px rgba(31,86,168,.11);line-height:1.72;white-space:pre-wrap;word-break:break-word}.chat-row.mine .message-bubble{border-radius:20px 20px 6px 20px;color:#fff;background:linear-gradient(135deg,#18c98e,#1da7ff 68%,#6172ff);box-shadow:0 16px 34px rgba(32,164,255,.25)}
.chat-composer{grid-template-columns:minmax(0,1fr) 112px;gap:12px;margin-top:14px;padding:12px;border-radius:24px;background:rgba(255,255,255,.66);border:1px solid rgba(76,132,208,.12);box-shadow:0 16px 40px rgba(35,88,163,.08)}.chat-composer textarea{min-height:76px;max-height:170px;border-radius:19px}.chat-composer .send-btn{height:76px;border-radius:20px;font-size:16px;font-weight:1000}
.empty-state,.empty-chat-illustration{display:grid;place-items:center;text-align:center;gap:7px;padding:24px 14px;border:1px dashed rgba(76,132,208,.28);border-radius:20px;color:#6c7f98;background:rgba(255,255,255,.58)}.empty-state strong,.empty-chat-illustration strong{color:#17345c;font-size:17px}.empty-state.small{padding:16px 12px}.empty-chat-illustration{min-height:260px;align-content:center}.empty-chat-illustration div{font-size:46px;filter:drop-shadow(0 12px 20px rgba(43,120,220,.16))}.request-card{align-items:start;border-radius:20px}.request-main p{margin:4px 0 10px;color:#667b96}
.friend-select-title{font-size:13px;color:#54708e;font-weight:900;margin:2px 0 -2px}.friend-selector{max-height:240px;overflow:auto;padding-right:4px}.selector-card{grid-template-columns:20px 44px minmax(0,1fr);border-radius:18px}.selector-card input{accent-color:#1da7ff}.selector-card span:last-child{min-width:0}.selector-card strong,.selector-card em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-mark{background:linear-gradient(135deg,#6d5dfc,#23d5ab)!important}.invite-glass{margin:14px 0;padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(246,251,255,.58))}.group-chat-page .social-chat-panel{grid-template-rows:auto auto minmax(300px,1fr) auto auto}
@media (max-width:1120px){.social-app-layout{grid-template-columns:1fr}.social-chat-panel{min-height:620px}.friend-list.contact-list,.request-stack,.group-list{max-height:360px}}
@media (max-width:720px){.social-chat-page .wechat-shell{width:min(100vw - 14px,100%);padding-top:10px}.social-chat-page .social-hero{display:block;padding:20px}.social-chat-page .social-nav{justify-content:flex-start;margin-top:14px}.peer-head{align-items:flex-start}.chat-peer-avatar{width:52px;height:52px;border-radius:18px}.conversation-card{min-width:250px;grid-template-columns:38px minmax(150px,1fr) auto}.chat-row{max-width:96%}.chat-composer{grid-template-columns:1fr}.chat-composer .send-btn{height:50px}.social-chat-titlebar{display:grid;gap:12px}}

/* Campus Blog full redesign — Dribbble-style campus club visual direction. */
.campus-blog-page,.campus-article-page,.campus-editor-page{min-height:100vh;margin:0;color:#101827;background:#f7f3ec;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}.campus-blog-page:before,.campus-article-page:before,.campus-editor-page:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 10% 12%,rgba(255,120,74,.24),transparent 30%),radial-gradient(circle at 88% 8%,rgba(68,112,255,.22),transparent 34%),radial-gradient(circle at 70% 86%,rgba(34,197,161,.18),transparent 36%),linear-gradient(135deg,#fff8ef,#f4f7ff 56%,#f7fff8)}.campus-blog-page:after,.campus-article-page:after,.campus-editor-page:after{content:"";position:fixed;inset:0;z-index:-1;background-image:linear-gradient(rgba(16,24,39,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(16,24,39,.045) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),transparent 76%);pointer-events:none}.campus-blog-page a,.campus-article-page a,.campus-editor-page a{color:inherit;text-decoration:none}.campus-blog-nav{position:sticky;top:14px;z-index:20;width:min(1620px,calc(100vw - 30px));margin:14px auto 0;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px 12px 18px;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:rgba(255,255,255,.62);box-shadow:0 22px 70px rgba(52,64,100,.14);backdrop-filter:blur(22px) saturate(1.2);-webkit-backdrop-filter:blur(22px) saturate(1.2)}.campus-blog-brand{display:inline-flex;align-items:center;gap:2px;font-size:24px;font-weight:1000;letter-spacing:-.05em}.campus-blog-brand span{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:18px;color:#fff;background:#111827;box-shadow:0 14px 32px rgba(17,24,39,.22)}.campus-blog-nav nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.campus-blog-nav nav a{padding:10px 14px;border-radius:999px;color:#344054;font-weight:850;font-size:14px}.campus-blog-nav nav a:hover,.campus-blog-nav nav a.active{color:#111827;background:#fff;box-shadow:0 12px 26px rgba(52,64,100,.12)}.campus-blog-shell,.campus-article-shell,.campus-editor-shell{width:min(1620px,calc(100vw - 30px));margin:0 auto;padding:34px 0 70px}.campus-pill,.campus-panel-kicker{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;color:#f05d2f;font-size:12px;font-weight:1000;letter-spacing:.16em;text-transform:uppercase}.campus-pill:before,.campus-panel-kicker:before{content:"";width:9px;height:9px;border-radius:99px;background:#f05d2f;box-shadow:0 0 0 6px rgba(240,93,47,.12)}.campus-primary,.campus-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:13px 18px;font:inherit;font-weight:950;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.campus-primary{color:#fff;background:#111827;box-shadow:0 18px 38px rgba(17,24,39,.24)}.campus-primary:hover,.campus-secondary:hover{transform:translateY(-2px)}.campus-primary.full{width:100%}.campus-secondary{color:#121826;background:#fff;border:1px solid rgba(17,24,39,.08);box-shadow:0 14px 28px rgba(52,64,100,.10)}.campus-muted,.reader-tip{color:#667085;line-height:1.7}.campus-blog-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.82fr);gap:22px;align-items:stretch;margin-top:20px}.campus-hero-copy{position:relative;overflow:hidden;min-height:520px;border-radius:48px;padding:clamp(34px,5vw,72px);background:#111827;color:#fff;box-shadow:0 34px 100px rgba(17,24,39,.28)}.campus-hero-copy:before{content:"";position:absolute;inset:auto -120px -180px auto;width:520px;height:520px;border-radius:999px;background:linear-gradient(135deg,#ff7a45,#7c5cff 55%,#22c7a9);filter:blur(2px);opacity:.86}.campus-hero-copy>*{position:relative;z-index:1}.campus-hero-copy .campus-pill{color:#ffd6bf}.campus-hero-copy .campus-pill:before{background:#ff8a53}.campus-hero-copy h1{max-width:1020px;margin:0;font-size:clamp(46px,6.4vw,104px);line-height:.92;letter-spacing:-.075em}.campus-hero-desc{max-width:760px;margin:24px 0 0;color:rgba(255,255,255,.75);font-size:18px;line-height:1.8}.campus-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.campus-hero-actions .campus-primary{color:#111827;background:#fff}.campus-hero-actions .campus-secondary{color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2);box-shadow:none}.campus-hero-stage{position:relative;min-height:520px;border-radius:48px;background:linear-gradient(145deg,#fff,#eff4ff);border:1px solid rgba(255,255,255,.8);box-shadow:0 34px 90px rgba(52,64,100,.16);overflow:hidden}.stage-orbit{position:absolute;border-radius:999px;filter:blur(1px);opacity:.85}.orbit-a{width:360px;height:360px;right:-80px;top:-60px;background:#ff7a45}.orbit-b{width:320px;height:320px;left:-90px;bottom:-80px;background:#4f7cff}.stage-card{position:absolute;border:1px solid rgba(255,255,255,.72);border-radius:30px;padding:22px;background:rgba(255,255,255,.72);box-shadow:0 24px 70px rgba(52,64,100,.20);backdrop-filter:blur(18px)}.stage-card span{display:block;margin-bottom:12px;color:#f05d2f;font-size:12px;font-weight:1000;letter-spacing:.13em}.stage-main{left:38px;right:38px;top:58px;min-height:210px}.stage-main strong{display:block;color:#111827;font-size:clamp(28px,3vw,48px);line-height:1.02;letter-spacing:-.05em}.stage-main p{color:#667085;line-height:1.7}.stage-code{right:38px;bottom:118px;background:#111827;color:#fff}.stage-code code{font-size:18px;color:#9effd1}.stage-chat{left:44px;bottom:42px;max-width:260px}.stage-chat b{font-size:24px;letter-spacing:-.04em}.campus-stats-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.campus-stats-strip div{border:1px solid rgba(255,255,255,.72);border-radius:28px;padding:22px;background:rgba(255,255,255,.68);box-shadow:0 18px 50px rgba(52,64,100,.10);backdrop-filter:blur(16px)}.campus-stats-strip b{display:block;font-size:clamp(28px,3vw,52px);letter-spacing:-.06em}.campus-stats-strip span{color:#667085;font-weight:850}.campus-blog-grid{display:grid;grid-template-columns:300px minmax(0,1fr) 330px;gap:18px;align-items:start}.campus-blog-rail,.campus-blog-side{display:grid;gap:16px;position:sticky;top:100px}.campus-panel{border:1px solid rgba(255,255,255,.74);border-radius:32px;padding:22px;background:rgba(255,255,255,.72);box-shadow:0 20px 60px rgba(52,64,100,.12);backdrop-filter:blur(18px)}.campus-panel h2{margin:0 0 12px;font-size:24px;letter-spacing:-.045em}.campus-search-box{display:grid;grid-template-columns:1fr auto;gap:8px}.campus-search-box input{min-width:0;border:1px solid rgba(17,24,39,.08);border-radius:18px;padding:13px 14px;background:#fff;font:inherit;outline:none}.campus-search-box button{border:0;border-radius:18px;padding:0 15px;color:#fff;background:#111827;font-weight:950}.campus-chip-group,.campus-tag-cloud{display:flex;gap:8px;flex-wrap:wrap}.campus-chip-group button,.campus-tag-cloud span{border:1px solid rgba(17,24,39,.08);border-radius:999px;padding:9px 12px;background:#fff;color:#344054;font-weight:850}.campus-chip-group button{cursor:pointer}.campus-chip-group button.on{color:#fff;background:#111827}.campus-tag-cloud em{margin-left:6px;color:#98a2b3;font-style:normal}.campus-feed-area{min-width:0}.campus-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:16px}.campus-section-head h2{margin:0;font-size:clamp(32px,4vw,64px);line-height:.95;letter-spacing:-.07em}.campus-section-head p{margin:8px 0 0;color:#667085}.campus-sort-tabs{display:flex;gap:8px;padding:7px;border-radius:999px;background:rgba(255,255,255,.72);box-shadow:0 14px 36px rgba(52,64,100,.10)}.campus-sort-tabs button{border:0;border-radius:999px;padding:10px 14px;background:transparent;color:#667085;font-weight:950;cursor:pointer}.campus-sort-tabs button.on{color:#fff;background:#111827}.campus-feature-card{display:grid;grid-template-columns:minmax(260px,.82fr) 1fr auto;gap:18px;align-items:stretch;margin-bottom:18px;padding:14px;border-radius:38px;background:#111827;color:#fff;box-shadow:0 28px 80px rgba(17,24,39,.24);overflow:hidden}.feature-cover{display:block;min-height:310px;border-radius:28px;overflow:hidden;background:#293241}.feature-cover img,.campus-card-cover img{width:100%;height:100%;object-fit:cover;display:block}.feature-copy{padding:20px 4px}.campus-card-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.campus-card-meta span{border-radius:999px;padding:7px 10px;color:#344054;background:rgba(255,255,255,.82);font-size:12px;font-weight:950}.campus-feature-card .campus-card-meta span{color:#fff;background:rgba(255,255,255,.12)}.feature-copy h3{margin:0;font-size:clamp(30px,4vw,58px);line-height:.98;letter-spacing:-.065em}.feature-copy p{color:rgba(255,255,255,.72);line-height:1.8}.campus-author-row{display:flex;align-items:center;gap:10px;margin-top:22px}.campus-author-row span{display:grid;place-items:center;width:42px;height:42px;border-radius:16px;color:#111827;background:#fff;font-weight:1000}.campus-author-row em{color:rgba(255,255,255,.52);font-style:normal}.feature-stats{display:grid;gap:10px;align-content:end;min-width:116px}.feature-stats span{border-radius:18px;padding:12px;background:rgba(255,255,255,.12);font-weight:900}.campus-article-bento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.campus-article-card{display:grid;grid-template-rows:240px auto;border:1px solid rgba(255,255,255,.74);border-radius:34px;background:rgba(255,255,255,.76);box-shadow:0 20px 60px rgba(52,64,100,.12);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.campus-article-card:hover{transform:translateY(-5px);box-shadow:0 28px 80px rgba(52,64,100,.18)}.campus-article-card.wide{grid-column:1/-1;grid-template-columns:.82fr 1fr;grid-template-rows:auto}.campus-card-cover{display:block;overflow:hidden;background:#e9eef7}.campus-cover-fallback{height:100%;min-height:220px;display:grid;place-items:center;align-content:center;gap:8px;background:linear-gradient(135deg,#111827,#4f7cff 58%,#20c997);color:#fff}.campus-cover-fallback span{font-size:72px;font-weight:1000;letter-spacing:-.08em}.campus-cover-fallback i{font-style:normal;font-weight:950;opacity:.78}.campus-card-body{display:grid;gap:12px;padding:22px}.campus-card-body h3{margin:0;font-size:clamp(24px,2.2vw,36px);line-height:1.05;letter-spacing:-.055em}.campus-card-body p{margin:0;color:#667085;line-height:1.7}.campus-card-tags{display:flex;gap:8px;flex-wrap:wrap}.campus-card-tags span{border-radius:999px;padding:7px 10px;color:#f05d2f;background:#fff3ed;font-size:12px;font-weight:950}.campus-card-foot{display:flex;justify-content:space-between;gap:10px;color:#667085;font-weight:850}.campus-rank-list{display:grid;gap:10px}.campus-rank-item{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;padding:12px;border-radius:20px;background:#fff;box-shadow:0 10px 24px rgba(52,64,100,.08)}.campus-rank-item b{display:grid;place-items:center;width:42px;height:42px;border-radius:16px;color:#fff;background:#111827}.campus-rank-item span{min-width:0}.campus-rank-item strong,.campus-rank-item em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campus-rank-item em{margin-top:4px;color:#98a2b3;font-size:12px;font-style:normal}.publish-panel p{color:#667085;line-height:1.7}.campus-search-results{margin-top:12px;display:grid;gap:12px}.campus-search-section h4{margin:12px 0 8px}.campus-search-hit{display:block;padding:12px;border-radius:18px;background:#fff}.campus-search-hit strong,.campus-search-hit span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campus-search-hit span{margin-top:4px;color:#667085;font-size:12px}.campus-empty,.campus-skeleton,.campus-mini-loading{border:1px dashed rgba(17,24,39,.14);border-radius:30px;padding:28px;text-align:center;background:rgba(255,255,255,.58);color:#667085}.campus-skeleton{min-height:280px;background:linear-gradient(90deg,rgba(255,255,255,.52),rgba(255,255,255,.95),rgba(255,255,255,.52));background-size:220% 100%;animation:campusShimmer 1.4s infinite}@keyframes campusShimmer{to{background-position:-220% 0}}
/* Campus article reader */
.article-back{display:inline-flex;margin:24px 0 14px;color:#667085;font-weight:900}.campus-article-hero{position:relative;overflow:hidden;min-height:390px;border-radius:48px;padding:clamp(34px,5vw,74px);background:#111827;color:#fff;box-shadow:0 34px 100px rgba(17,24,39,.25)}.campus-article-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(17,24,39,.98),rgba(17,24,39,.76)),var(--article-cover);background-size:cover;background-position:center;opacity:1}.campus-article-hero:after{content:"";position:absolute;width:420px;height:420px;right:-110px;bottom:-180px;border-radius:999px;background:linear-gradient(135deg,#ff7a45,#4f7cff);opacity:.82}.campus-article-hero>*{position:relative;z-index:1}.campus-article-hero h1{max-width:1050px;margin:0;font-size:clamp(44px,6vw,92px);line-height:.95;letter-spacing:-.075em}.campus-article-hero>p:not(.campus-pill){max-width:850px;color:rgba(255,255,255,.74);font-size:18px;line-height:1.8}.article-hero-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.article-hero-meta span{border-radius:999px;padding:9px 12px;background:rgba(255,255,255,.13);font-weight:900}.campus-reader-grid{display:grid;grid-template-columns:250px minmax(0,900px) 250px;gap:18px;align-items:start;margin-top:18px}.reader-side{min-width:0}.reader-sticky-card{position:sticky;top:100px;border:1px solid rgba(255,255,255,.74);border-radius:32px;padding:20px;background:rgba(255,255,255,.74);box-shadow:0 20px 60px rgba(52,64,100,.12);backdrop-filter:blur(18px)}.article-author-card{display:grid;gap:7px}.author-avatar-big{display:grid;place-items:center;width:76px;height:76px;border-radius:26px;color:#fff;background:linear-gradient(135deg,#111827,#4f7cff 64%,#20c997);font-size:30px;font-weight:1000}.article-author-card strong{font-size:20px}.article-author-card span,.article-author-card p{color:#667085}.article-actions{display:grid;gap:8px;margin-top:18px}.article-actions .campus-secondary{width:100%;padding:11px 12px}.article-toc{display:grid;gap:8px}.article-toc a,.article-toc span{display:block;border-radius:16px;padding:10px 12px;color:#667085;background:#fff;font-weight:850}.article-toc a:hover{color:#111827}.campus-reader-card{min-width:0;border:1px solid rgba(255,255,255,.76);border-radius:40px;padding:clamp(26px,4vw,56px);background:rgba(255,255,255,.88);box-shadow:0 26px 80px rgba(52,64,100,.14)}.reader-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.reader-meta span,.reader-tags span{border-radius:999px;padding:8px 11px;background:#fff3ed;color:#f05d2f;font-size:12px;font-weight:950}.reader-title{margin:0;font-size:clamp(38px,5vw,72px);line-height:1;letter-spacing:-.075em}.reader-summary{margin:20px 0 26px;padding:18px 20px;border-left:5px solid #f05d2f;border-radius:18px;background:#fff8f3;color:#5b6472;font-size:18px;line-height:1.8}.reader-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.campus-reader-body{font-size:17px;line-height:1.9;color:#243044}.campus-reader-body h2,.campus-reader-body h3,.campus-reader-body h4{margin:34px 0 12px;line-height:1.12;letter-spacing:-.045em;color:#111827}.campus-reader-body h2{font-size:38px}.campus-reader-body h3{font-size:30px}.campus-reader-body p{margin:16px 0}.campus-reader-body a{color:#315bff;font-weight:850}.campus-reader-body code{border-radius:8px;padding:2px 6px;background:#f1f5ff;color:#d6336c}.campus-reader-body pre{position:relative;overflow:auto;border-radius:24px;padding:46px 20px 20px;background:#0d1322;color:#e5edf9;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.campus-reader-body pre code{padding:0;background:transparent;color:inherit}.code-lang{position:absolute;top:14px;left:18px;color:#9effd1;font-size:12px;font-weight:1000;text-transform:uppercase}.campus-reader-body blockquote{margin:22px 0;padding:20px 22px;border-left:6px solid #4f7cff;border-radius:20px;background:#f3f6ff;color:#344054}.campus-reader-body figure{margin:24px 0}.campus-reader-body img{max-width:100%;border-radius:26px;box-shadow:0 24px 70px rgba(52,64,100,.18)}.campus-reader-body figcaption{text-align:center;color:#667085;margin-top:10px}.campus-reader-body ul{padding-left:22px}.campus-reader-body li{margin:8px 0}.campus-comment-panel{width:min(900px,100%);margin:22px auto 0;border:1px solid rgba(255,255,255,.76);border-radius:40px;padding:clamp(22px,3vw,34px);background:rgba(255,255,255,.78);box-shadow:0 24px 70px rgba(52,64,100,.12)}.campus-comment-list{display:grid;gap:12px}.campus-comment{display:grid;grid-template-columns:48px 1fr;gap:12px;padding:14px;border-radius:22px;background:#fff}.comment-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:18px;color:#fff;background:#111827;font-weight:1000}.campus-comment strong{display:inline-block;margin-right:10px}.campus-comment time{color:#98a2b3;font-size:12px}.campus-comment p{margin:8px 0 0;color:#344054;line-height:1.7}.campus-comment-form{display:grid;grid-template-columns:1fr auto;gap:12px;margin-top:16px}.campus-comment-form textarea{min-height:92px;border:1px solid rgba(17,24,39,.08);border-radius:24px;padding:15px 16px;background:#fff;font:inherit;outline:none;resize:vertical}.campus-comment-form .campus-primary{align-self:end;min-height:54px}
/* Campus creator studio */
.campus-editor-hero{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:18px;align-items:stretch;margin-top:24px}.campus-editor-hero>div:first-child{border-radius:48px;padding:clamp(34px,5vw,68px);background:#111827;color:#fff;box-shadow:0 34px 100px rgba(17,24,39,.25)}.campus-editor-hero h1{max-width:1050px;margin:0;font-size:clamp(44px,6vw,92px);line-height:.95;letter-spacing:-.075em}.campus-editor-hero p:not(.campus-pill){max-width:780px;color:rgba(255,255,255,.74);line-height:1.8;font-size:18px}.editor-hero-card{display:grid;place-items:center;align-content:center;border-radius:48px;background:linear-gradient(135deg,#ff7a45,#4f7cff);color:#fff;box-shadow:0 28px 80px rgba(79,124,255,.25)}.editor-hero-card b{font-size:64px;letter-spacing:-.08em}.editor-hero-card span{font-weight:950}.campus-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:18px;margin-top:18px;align-items:start}.campus-editor-form{display:grid;gap:16px}.editor-card{border:1px solid rgba(255,255,255,.76);border-radius:34px;padding:22px;background:rgba(255,255,255,.78);box-shadow:0 22px 70px rgba(52,64,100,.12);backdrop-filter:blur(18px)}.campus-editor-form input,.campus-editor-form textarea{width:100%;border:1px solid rgba(17,24,39,.08);border-radius:22px;padding:15px 16px;background:#fff;font:inherit;outline:none;color:#101827}.campus-editor-form input:focus,.campus-editor-form textarea:focus,.campus-comment-form textarea:focus{border-color:#4f7cff;box-shadow:0 0 0 5px rgba(79,124,255,.12)}.title-card{display:grid;gap:12px}.title-card #articleTitle{font-size:clamp(28px,3vw,46px);font-weight:950;letter-spacing:-.055em}.editor-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.toolbar-card{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.editor-upload{position:relative;overflow:hidden}.editor-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.writing-card .markdown-input{min-height:620px;resize:vertical;font-family:"JetBrains Mono","Fira Code",Consolas,monospace;line-height:1.8}.campus-editor-aside{display:grid;gap:16px;position:sticky;top:100px}.preview-card{max-height:760px;overflow:auto}.campus-preview-body{padding:4px;color:#344054}.campus-preview-body h2,.campus-preview-body h3{letter-spacing:-.04em}.guide-card ul{margin:0;padding-left:20px;color:#667085;line-height:1.9}.guide-card li{margin:6px 0}
@media (max-width:1280px){.campus-blog-grid{grid-template-columns:260px minmax(0,1fr)}.campus-blog-side{grid-column:1/-1;grid-template-columns:1fr 1fr;position:static}.campus-reader-grid{grid-template-columns:1fr minmax(0,900px)}.reader-right{display:none}.campus-editor-grid{grid-template-columns:1fr}.campus-editor-aside{position:static}.preview-card{max-height:none}}@media (max-width:980px){.campus-blog-nav{position:relative;top:0;border-radius:28px;align-items:flex-start;flex-direction:column}.campus-blog-nav nav{justify-content:flex-start}.campus-blog-hero,.campus-editor-hero{grid-template-columns:1fr}.campus-hero-stage{min-height:420px}.campus-stats-strip{grid-template-columns:1fr 1fr}.campus-blog-grid{grid-template-columns:1fr}.campus-blog-rail,.campus-blog-side{position:static;grid-template-columns:1fr}.campus-feature-card{grid-template-columns:1fr}.feature-stats{grid-template-columns:repeat(3,1fr)}.campus-article-bento{grid-template-columns:1fr}.campus-article-card.wide{grid-template-columns:1fr}.campus-reader-grid{grid-template-columns:1fr}.reader-left{order:2}.campus-reader-card{order:1}.reader-sticky-card{position:static}.campus-comment-form{grid-template-columns:1fr}.editor-row{grid-template-columns:1fr}}@media (max-width:640px){.campus-blog-shell,.campus-article-shell,.campus-editor-shell,.campus-blog-nav{width:min(100vw - 18px,100%)}.campus-hero-copy,.campus-article-hero,.campus-editor-hero>div:first-child{border-radius:34px;padding:28px}.campus-hero-copy h1,.campus-article-hero h1,.campus-editor-hero h1{font-size:44px}.campus-stats-strip{grid-template-columns:1fr}.campus-section-head{display:block}.campus-sort-tabs{margin-top:12px;width:max-content;max-width:100%;overflow:auto}.campus-reader-card,.campus-comment-panel,.editor-card{border-radius:28px;padding:20px}.campus-reader-body h2{font-size:30px}.toolbar-card{display:grid}.toolbar-card>*{width:100%}}

/* Typography polish for the rebuilt campus blog pages. */
:root {
  --campus-cn-sans: "HarmonyOS Sans SC", "MiSans", "Alibaba PuHuiTi", "OPPO Sans", "PingFang SC", "Microsoft YaHei UI", "Noto Sans SC", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --campus-display: "HarmonyOS Sans SC", "MiSans", "Alibaba PuHuiTi", "Source Han Sans SC", "PingFang SC", "Microsoft YaHei UI", sans-serif;
  --campus-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", Consolas, Menlo, monospace;
}

.campus-blog-page,
.campus-article-page,
.campus-editor-page,
.social-chat-page,
.account-page {
  font-family: var(--campus-cn-sans) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.campus-hero-copy h1,
.campus-section-head h2,
.feature-copy h3,
.campus-card-body h3,
.campus-article-hero h1,
.reader-title,
.campus-editor-hero h1,
.campus-blog-brand,
.stage-main strong {
  font-family: var(--campus-display) !important;
  font-weight: 950;
}

.stage-code code,
.campus-reader-body pre,
.campus-reader-body code,
.writing-card .markdown-input {
  font-family: var(--campus-mono) !important;
}

/* Blog home typography refinement: smaller, calmer, Chinese-friendly reading style. */
.campus-blog-page {
  --blog-font-sans: "PingFang SC", "Source Han Sans SC", "Noto Sans CJK SC", "Microsoft YaHei UI", "Microsoft YaHei", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --blog-font-title: "PingFang SC", "Source Han Sans SC", "Noto Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;
  font-family: var(--blog-font-sans) !important;
  letter-spacing: 0;
}

.campus-blog-page .campus-blog-brand,
.campus-blog-page .campus-hero-copy h1,
.campus-blog-page .stage-main strong,
.campus-blog-page .campus-section-head h2,
.campus-blog-page .feature-copy h3,
.campus-blog-page .campus-card-body h3,
.campus-blog-page .campus-panel h2,
.campus-blog-page .campus-rank-item strong {
  font-family: var(--blog-font-title) !important;
  font-weight: 760 !important;
  letter-spacing: -0.018em !important;
}

.campus-blog-page .campus-blog-brand {
  font-size: 22px;
  font-weight: 820 !important;
}

.campus-blog-page .campus-blog-nav nav a {
  font-size: 13px;
  font-weight: 760;
}

.campus-blog-page .campus-hero-copy h1 {
  max-width: 900px;
  font-size: clamp(32px, 4.45vw, 68px) !important;
  line-height: 1.08 !important;
}

.campus-blog-page .campus-hero-desc {
  max-width: 720px;
  font-size: clamp(14px, 1vw, 16px) !important;
  line-height: 1.85;
}

.campus-blog-page .stage-main strong {
  font-size: clamp(23px, 2.2vw, 36px) !important;
  line-height: 1.16 !important;
}

.campus-blog-page .stage-card span,
.campus-blog-page .campus-pill,
.campus-blog-page .campus-panel-kicker {
  font-size: 11px;
  letter-spacing: .12em;
}

.campus-blog-page .campus-stats-strip b {
  font-size: clamp(24px, 2.45vw, 38px) !important;
  letter-spacing: -0.025em;
}

.campus-blog-page .campus-section-head h2 {
  font-size: clamp(27px, 3vw, 44px) !important;
  line-height: 1.08 !important;
}

.campus-blog-page .feature-copy h3 {
  font-size: clamp(26px, 3vw, 42px) !important;
  line-height: 1.12 !important;
}

.campus-blog-page .campus-card-body h3 {
  font-size: clamp(21px, 1.7vw, 28px) !important;
  line-height: 1.22 !important;
}

.campus-blog-page .campus-panel h2 {
  font-size: 21px !important;
}

.campus-blog-page .campus-card-body p,
.campus-blog-page .feature-copy p,
.campus-blog-page .campus-panel,
.campus-blog-page .campus-muted {
  font-size: 14px;
  line-height: 1.78;
}

.campus-blog-page .campus-primary,
.campus-blog-page .campus-secondary,
.campus-blog-page .campus-chip-group button,
.campus-blog-page .campus-tag-cloud span,
.campus-blog-page .campus-sort-tabs button {
  font-weight: 760;
}

/* Community pages visual refresh — align account, private chat, groups and profiles with the calmer blog style. */
.account-page,
.wechat-page,
.space-page {
  --community-ui-font: "PingFang SC", "Source Han Sans SC", "Noto Sans CJK SC", "Microsoft YaHei UI", "Microsoft YaHei", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --community-ui-title: "PingFang SC", "Source Han Sans SC", "Noto Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;
  --community-ui-ink: #111827;
  --community-ui-muted: #667085;
  --community-ui-line: rgba(17, 24, 39, .08);
  --community-ui-glass: rgba(255,255,255,.72);
  --community-ui-shadow: 0 22px 70px rgba(52, 64, 100, .12);
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
  color: var(--community-ui-ink) !important;
  font-family: var(--community-ui-font) !important;
  letter-spacing: 0;
  background:
    radial-gradient(circle at 10% 12%, rgba(255,120,74,.18), transparent 30%),
    radial-gradient(circle at 88% 8%, rgba(68,112,255,.18), transparent 34%),
    radial-gradient(circle at 70% 86%, rgba(34,197,161,.14), transparent 36%),
    linear-gradient(135deg,#fff8ef,#f4f7ff 56%,#f7fff8) !important;
  overflow-x: hidden;
}

.account-page::before,
.wechat-page::after,
.space-page::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(16,24,39,.04) 1px,transparent 1px), linear-gradient(90deg,rgba(16,24,39,.04) 1px,transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom,rgba(0,0,0,.62),transparent 78%);
}

.account-page > *,
.wechat-page > *,
.space-page > * {
  position: relative;
  z-index: 1;
}

.account-page .brand,
.account-page h1,
.account-page h2,
.account-page h3,
.wechat-page h1,
.wechat-page h2,
.wechat-page h3,
.space-page h1,
.space-page h2,
.space-page h3,
.profile-card h1,
.profile-card h2 {
  font-family: var(--community-ui-title) !important;
  font-weight: 760 !important;
  letter-spacing: -0.018em !important;
}

/* Top navigation: same rounded glass feeling as blog plaza. */
.account-page .account-topbar,
.space-page .topbar {
  position: sticky;
  top: 12px;
  z-index: 30;
  width: min(1620px, calc(100vw - 30px));
  margin: 12px auto 0;
  padding: 0;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.account-page .topbar-inner,
.space-page .topbar-inner {
  min-height: 62px;
  padding: 10px 14px 10px 18px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 999px;
  background: rgba(255,255,255,.66);
  box-shadow: 0 18px 54px rgba(52,64,100,.13);
  backdrop-filter: blur(20px) saturate(1.14);
  -webkit-backdrop-filter: blur(20px) saturate(1.14);
}

.account-page .brand,
.space-page .brand {
  color: #111827 !important;
  font-size: 22px;
  font-weight: 820 !important;
}

.account-page .nav a,
.space-page .nav a {
  border-radius: 999px;
  padding: 9px 13px;
  color: #344054 !important;
  font-size: 13px;
  font-weight: 760;
  background: transparent;
}

.account-page .nav a:hover,
.account-page .nav a.active,
.space-page .nav a:hover,
.space-page .nav a.active {
  color: #111827 !important;
  background: #fff !important;
  box-shadow: 0 10px 22px rgba(52,64,100,.10);
}

/* Account center. */
.account-shell {
  width: min(1620px, calc(100vw - 30px));
  padding: 26px 0 64px;
}

.account-hero {
  grid-template-columns: minmax(0,1fr) minmax(300px,350px);
  gap: 18px;
}

.account-profile-card,
.social-chat-page .social-hero,
.space-page .profile-card {
  position: relative;
  overflow: hidden;
  border-radius: 42px;
  color: #fff;
  border: 1px solid rgba(255,255,255,.22);
  background: #111827 !important;
  box-shadow: 0 30px 88px rgba(17,24,39,.23);
}

.account-profile-card::before,
.social-chat-page .social-hero::before,
.space-page .profile-card::before {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  right: -150px;
  bottom: -220px;
  border-radius: 999px;
  background: linear-gradient(135deg,#ff7a45,#7c5cff 55%,#22c7a9);
  opacity: .82;
}

.account-profile-card > *,
.social-chat-page .social-hero > *,
.space-page .profile-card > * {
  position: relative;
  z-index: 1;
}

.account-profile-card {
  grid-template-columns: 92px minmax(0,1fr);
  gap: 18px;
  padding: clamp(26px, 4vw, 44px);
}

.account-profile-card h1 {
  font-size: clamp(30px, 4vw, 52px) !important;
  line-height: 1.08 !important;
}

.account-profile-card p,
.social-chat-page .social-hero p:last-child,
.space-page .profile-card p {
  color: rgba(255,255,255,.76) !important;
  font-size: 14px;
  line-height: 1.82;
}

.blog-eyebrow,
.wechat-kicker,
.mini-label {
  font-size: 11px !important;
  font-weight: 760 !important;
  letter-spacing: .12em !important;
}

.account-avatar {
  width: 78px;
  height: 78px;
  border-radius: 24px;
  font-size: 34px;
  font-weight: 820;
  background: linear-gradient(135deg,#fff,#e7f3ff) !important;
  color: #111827 !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.18);
}

.account-avatar.large {
  width: 104px;
  height: 104px;
  border-radius: 30px;
  font-size: 44px;
  color: #fff !important;
  background: linear-gradient(135deg,#111827,#4f7cff 62%,#20c997) !important;
}

.account-stat-grid,
.account-panel,
.account-tabs,
.social-chat-page .glass-card,
.social-chat-page .wechat-card,
.social-chat-page .wechat-chat-panel,
.avatar-uploader,
.my-article,
.social-entry-grid a {
  border: 1px solid rgba(255,255,255,.74) !important;
  background: var(--community-ui-glass) !important;
  box-shadow: var(--community-ui-shadow) !important;
  backdrop-filter: blur(18px) saturate(1.12);
  -webkit-backdrop-filter: blur(18px) saturate(1.12);
}

.account-stat-grid,
.account-panel,
.account-tabs {
  border-radius: 30px;
}

.account-stat-grid div {
  border-radius: 22px;
  background: rgba(255,255,255,.72) !important;
}

.account-stat-grid b {
  color: #111827;
  font-size: clamp(24px, 2.6vw, 36px) !important;
  font-weight: 780;
}

.account-stat-grid span,
.account-panel-head p,
.account-muted,
.social-entry-grid span,
.my-article p,
.my-article small {
  color: var(--community-ui-muted) !important;
  font-size: 14px;
  line-height: 1.78;
}

.account-layout {
  grid-template-columns: 220px minmax(0,1fr);
}

.account-tabs {
  top: 94px;
  padding: 10px;
}

.account-tabs button {
  border-radius: 16px;
  padding: 12px 14px;
  color: #344054;
  background: rgba(255,255,255,.58);
  font-size: 14px;
  font-weight: 760;
}

.account-tabs button.active,
.account-tabs button:hover {
  color: #fff;
  background: #111827 !important;
}

.account-panel {
  padding: clamp(20px,3vw,30px);
}

.account-panel-head h2 {
  font-size: clamp(24px, 2.6vw, 34px) !important;
  line-height: 1.16;
}

.account-form label {
  color: #344054;
  font-size: 14px;
  font-weight: 760;
}

.account-form input,
.account-form textarea,
.social-chat-page .wechat-form input,
.social-chat-page .wechat-form textarea,
.social-chat-page .wechat-message-form textarea {
  border: 1px solid var(--community-ui-line) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.88) !important;
  color: #111827 !important;
  font-size: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8) !important;
}

.account-form input:focus,
.account-form textarea:focus,
.social-chat-page .wechat-form input:focus,
.social-chat-page .wechat-form textarea:focus,
.social-chat-page .wechat-message-form textarea:focus {
  border-color: rgba(17,24,39,.22) !important;
  box-shadow: 0 0 0 5px rgba(17,24,39,.08) !important;
}

.community-btn,
.account-page .community-btn,
.social-chat-page .community-btn,
.space-page .community-btn {
  border-radius: 999px !important;
  padding: 11px 16px;
  font-size: 14px;
  font-weight: 760 !important;
}

.account-page .community-btn.primary,
.social-chat-page .community-btn.primary,
.space-page .community-btn.primary {
  border: 0 !important;
  color: #fff !important;
  background: #111827 !important;
  box-shadow: 0 16px 34px rgba(17,24,39,.18) !important;
}

.account-page .community-btn:not(.primary),
.social-chat-page .ghost-btn,
.space-page .community-btn:not(.primary) {
  color: #111827 !important;
  background: rgba(255,255,255,.74) !important;
  border: 1px solid rgba(17,24,39,.08) !important;
}

/* Private chat / groups. */
.social-chat-page .wechat-shell {
  width: min(1620px, calc(100vw - 30px));
  padding: 20px 0 64px;
}

.social-chat-page .social-hero {
  min-height: 250px;
  align-items: center;
  padding: clamp(28px, 4vw, 46px);
  margin-bottom: 18px;
}

.social-chat-page .group-hero {
  background: #111827 !important;
}

.social-chat-page .social-hero h1 {
  margin: 0;
  font-size: clamp(32px, 4.2vw, 56px) !important;
  line-height: 1.08 !important;
  text-shadow: none !important;
}

.social-chat-page .social-nav a {
  border-color: rgba(255,255,255,.18) !important;
  color: #fff !important;
  background: rgba(255,255,255,.10) !important;
  font-size: 13px;
  font-weight: 760;
}

.social-app-layout {
  grid-template-columns: minmax(310px,410px) minmax(0,1fr);
}

.social-chat-page .wechat-card,
.social-chat-page .wechat-chat-panel {
  border-radius: 30px !important;
}

.social-chat-page .wechat-card h2,
.social-chat-page .wechat-card h3,
.social-chat-titlebar h2,
#groupTitle,
#chatTitle {
  color: #111827 !important;
  font-size: clamp(21px, 2.1vw, 30px) !important;
  line-height: 1.16;
}

.social-chat-page .wechat-muted,
.social-chat-page .status-line,
.friend-item em,
.friend-check em,
.conversation-main small {
  color: var(--community-ui-muted) !important;
  font-size: 13px;
}

.social-chat-page .mini-label {
  color: #f05d2f !important;
}

.social-chat-page .friend-item,
.social-chat-page .friend-request,
.social-chat-page .friend-check,
.conversation-card,
.conversation-empty,
.audit-row {
  border-color: rgba(17,24,39,.08) !important;
  background: rgba(255,255,255,.72) !important;
  box-shadow: 0 12px 28px rgba(52,64,100,.08) !important;
}

.social-chat-page .contact-card:hover,
.social-chat-page .contact-card.active,
.conversation-card.active {
  border-color: rgba(17,24,39,.22) !important;
  background: #fff !important;
  transform: translateY(-2px);
}

.social-chat-page .friend-avatar,
.social-chat-page .conversation-avatar,
.social-chat-page .chat-avatar,
.social-chat-page .chat-peer-avatar,
.group-peer-avatar {
  color: #fff;
  background: linear-gradient(135deg,#111827,#4f7cff 62%,#20c997) !important;
  box-shadow: 0 12px 28px rgba(17,24,39,.16) !important;
}

.chat-canvas {
  border: 1px solid rgba(17,24,39,.08) !important;
  background:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.92), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.70), rgba(246,248,255,.72)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82) !important;
}

.chat-canvas::before {
  background-image: radial-gradient(rgba(17,24,39,.09) 1px, transparent 1px) !important;
  background-size: 20px 20px !important;
}

.chat-canvas .message-bubble {
  color: #111827 !important;
  background: #fff !important;
  border-radius: 18px 18px 18px 6px !important;
  font-size: 14px;
  line-height: 1.78;
  box-shadow: 0 12px 28px rgba(52,64,100,.10) !important;
}

.chat-row.mine .message-bubble,
.wechat-message-box .message-bubble.mine {
  color: #fff !important;
  background: #111827 !important;
  border-radius: 18px 18px 6px 18px !important;
}

.chat-composer {
  border-color: rgba(255,255,255,.74) !important;
  background: rgba(255,255,255,.70) !important;
  border-radius: 28px !important;
}

.chat-composer .send-btn,
.social-chat-page .glow-btn {
  background: #111827 !important;
  color: #fff !important;
  box-shadow: 0 16px 34px rgba(17,24,39,.18) !important;
}

.invite-glass {
  border-radius: 26px !important;
  background: rgba(255,255,255,.58) !important;
}

/* Public user space. */
.space-page .community-shell {
  width: min(1080px, calc(100vw - 30px));
  padding: 32px 0 64px;
}

.space-page .profile-card {
  padding: clamp(26px,4vw,46px);
}

.space-page .profile-head,
.space-page .profile-actions,
.space-page .profile-stats,
.space-page .article-grid {
  position: relative;
  z-index: 1;
}

.space-page .profile-stat,
.space-page .article-card {
  border: 1px solid rgba(255,255,255,.74) !important;
  border-radius: 22px;
  background: rgba(255,255,255,.78) !important;
  box-shadow: 0 16px 42px rgba(52,64,100,.10);
  color: #111827;
}

.space-page .profile-stat span,
.space-page .article-card p,
.space-page .article-meta,
.space-page .article-tags {
  color: var(--community-ui-muted) !important;
}

@media (max-width: 980px) {
  .account-page .account-topbar,
  .space-page .topbar,
  .account-shell,
  .social-chat-page .wechat-shell,
  .space-page .community-shell {
    width: min(100vw - 18px, 100%);
  }
  .account-hero,
  .account-layout,
  .social-app-layout {
    grid-template-columns: 1fr;
  }
  .account-tabs {
    position: static;
    grid-template-columns: repeat(4, minmax(0,1fr));
  }
}

@media (max-width: 640px) {
  .account-page .topbar-inner,
  .space-page .topbar-inner {
    border-radius: 28px;
    align-items: flex-start;
  }
  .account-profile-card,
  .social-chat-page .social-hero,
  .space-page .profile-card {
    border-radius: 32px;
  }
  .account-profile-card,
  .account-form,
  .chat-composer {
    grid-template-columns: 1fr;
  }
  .account-tabs {
    grid-template-columns: 1fr 1fr;
  }
  .social-chat-page .social-hero {
    display: block;
    min-height: auto;
  }
}

/* Auth-aware community navigation: guests can browse /blog, private entries appear after login. */
.community-auth-only {
  display: none !important;
}
body.community-logged-in .community-auth-only {
  display: inline-flex !important;
}
body.community-logged-in .campus-blog-nav nav .community-auth-only {
  display: inline-block !important;
}
body.community-logged-in .campus-primary.full.community-auth-only {
  display: flex !important;
}
body.community-logged-in .community-guest-only {
  display: none !important;
}

/* Caret guard: normal page chrome should not show a blinking text cursor after clicks.
   Real editing controls keep their normal caret and text-selection behavior. */
.community-page,
.community-page h1,
.community-page h2,
.community-page h3,
.community-page h4,
.community-page h5,
.community-page h6,
.community-page p,
.community-page span,
.community-page small,
.community-page strong,
.community-page em,
.community-page a,
.community-page button,
.community-page label,
.community-page .topbar,
.community-page .brand,
.community-page .nav,
.community-page .community-btn,
.community-page .account-profile-card,
.community-page .account-panel-head,
.community-page .account-tabs,
.community-page .account-stat-grid,
.community-page .social-entry-grid,
.community-page .campus-blog-hero,
.community-page .blog-article-card,
.community-page .profile-card {
  caret-color: transparent;
}

.account-page .account-profile-card,
.account-page .account-profile-card *,
.account-page .account-panel-head,
.account-page .account-panel-head *,
.account-page .account-tabs,
.account-page .account-tabs *,
.account-page .account-stat-grid,
.account-page .account-stat-grid *,
.account-page .social-entry-grid,
.account-page .social-entry-grid * {
  -webkit-user-select: none;
  user-select: none;
}

.community-page input,
.community-page textarea,
.community-page select,
.community-page [contenteditable="true"],
.community-page [contenteditable="plaintext-only"],
.community-page .article-body,
.community-page .article-body *,
.community-page pre,
.community-page code {
  caret-color: auto;
  -webkit-user-select: text;
  user-select: text;
}
