/* 浩宇云 · 人脉社区（独立页）样式
   2026-09-15 新建：社区 2.0 = 微博/朋友圈形态 + 群的感觉（发帖 / 跟帖 / 点赞 / 动态）
   配色沿用应用生态的紫色主色系，与 core.css 的 .task / .tbtn / .hint 兼容。 */

.topbar { display:none; }
.vhead { position:sticky; top:0; z-index:20; background:linear-gradient(135deg,#5e35b1,#3949ab); color:#fff;
  padding:12px 14px; display:flex; align-items:center; gap:10px; border-radius:0 0 16px 16px; box-shadow:0 2px 8px rgba(0,0,0,.18); }
.vhead .bk { width:34px; height:34px; flex:none; border:none; border-radius:50%; background:rgba(255,255,255,.18);
  color:#fff; font-size:18px; cursor:pointer; }
.vhead .tt { font-size:16.5px; font-weight:900; }
.vhead .sub2 { font-size:11px; opacity:.85; margin-top:2px; }
.page-b { padding-bottom:96px; }

/* ---------- 一级 / 二级 tab ---------- */
.cm-tabs { display:flex; gap:6px; padding:10px 12px 6px; position:sticky; top:0; z-index:15; background:#f5f6f8; }
.cm-tab { flex:1; border:1.5px solid #d1c4e9; background:#fff; color:#4527a0; border-radius:12px;
  padding:7px 4px; font-size:12.5px; font-weight:800; cursor:pointer; }
.cm-tab.on { background:#5e35b1; border-color:#5e35b1; color:#fff; }
.cm-subtabs { display:flex; gap:6px; padding:8px 2px 6px; }
.cm-stab { flex:1; border:none; background:#ede7f6; color:#4527a0; border-radius:10px; padding:7px 4px;
  font-size:12.5px; font-weight:800; cursor:pointer; }
.cm-stab.on { background:#5e35b1; color:#fff; }

.cm-view { display:none; padding:0 12px; }
.cm-view.on { display:block; }

/* ---------- 搜索 ---------- */
.cm-search { display:flex; gap:6px; margin:10px 0 4px; }
.cm-search input { flex:1; min-width:0; padding:9px 12px; border:2px solid #e3e7ee; border-radius:10px; font-size:14px; outline:none; box-sizing:border-box; }
.cm-search input:focus { border-color:#5e35b1; }

/* ---------- 社区卡片 ---------- */
.cm-comm { display:flex; gap:11px; background:#fff; border-radius:14px; padding:12px; margin-bottom:8px;
  box-shadow:0 1px 4px rgba(0,0,0,.06); cursor:pointer; }
.cm-comm:active { background:#fafafa; }
.cm-comm .ico { width:48px; height:48px; flex:none; border-radius:13px; background:#ede7f6;
  display:flex; align-items:center; justify-content:center; font-size:25px; overflow:hidden; }
.cm-comm .ico img { width:100%; height:100%; object-fit:cover; }
.cm-comm .inf { flex:1; min-width:0; }
.cm-comm .nm { font-size:14.5px; font-weight:800; color:#311b92; display:flex; align-items:center; gap:5px; }
.cm-comm .nm .fee { font-size:10.5px; font-weight:800; padding:1px 6px; border-radius:8px; background:#fff3e0; color:#e65100; }
.cm-comm .nm .fee.free { background:#e8f5e9; color:#2e7d32; }
.cm-comm .meta { font-size:11.5px; color:#8d6e63; margin-top:3px; line-height:1.6; }
.cm-comm .meta b { color:#5e35b1; }
.cm-comm .btn { flex:none; align-self:center; }
.cm-mini { display:flex; gap:8px; overflow-x:auto; padding:4px 0 2px; scrollbar-width:none; }
.cm-mini::-webkit-scrollbar { display:none; }
.cm-mini .mi { flex:none; width:82px; background:#fff; border-radius:12px; padding:9px 6px; text-align:center;
  box-shadow:0 1px 4px rgba(0,0,0,.06); cursor:pointer; }
.cm-mini .mi .e { font-size:22px; }
.cm-mini .mi .n { font-size:11px; font-weight:700; color:#4527a0; margin-top:3px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cm-mini .mi .c { font-size:10px; color:#9e9e9e; }

/* ---------- 社区详情头 ---------- */
.cm-chead { background:#fff; border-radius:14px; padding:13px; margin:10px 0 4px; box-shadow:0 1px 4px rgba(0,0,0,.06); }
.cm-chead .top { display:flex; gap:12px; align-items:center; }
.cm-chead .ico { width:56px; height:56px; flex:none; border-radius:15px; background:#ede7f6;
  display:flex; align-items:center; justify-content:center; font-size:29px; overflow:hidden; }
.cm-chead .ico img { width:100%; height:100%; object-fit:cover; }
.cm-chead .nm { font-size:16px; font-weight:900; color:#311b92; }
.cm-chead .own { font-size:11.5px; color:#8d6e63; margin-top:3px; }
.cm-notice { margin-top:10px; background:#fff8e1; border-radius:10px; padding:8px 10px; font-size:12px; color:#795548; line-height:1.6; }
.cm-stats { display:flex; gap:8px; margin-top:10px; }
.cm-stats .s { flex:1; background:#f7f4fd; border-radius:10px; padding:7px 4px; text-align:center; }
.cm-stats .s b { display:block; font-size:14px; color:#5e35b1; }
.cm-stats .s span { font-size:10.5px; color:#8d6e63; }
.cm-acts { display:flex; gap:8px; margin-top:10px; }
.cm-acts .tbtn { flex:1; }

/* ---------- 帖子 ---------- */
.cm-postbox { background:#fff; border-radius:14px; padding:12px; margin:10px 0 10px; box-shadow:0 1px 4px rgba(0,0,0,.06); }
.cm-postbox .pb-txt { color:#9e9e9e; font-size:13.5px; padding:6px 0 10px; cursor:pointer; }
.cm-postbox .pb-acts { display:flex; gap:8px; border-top:1px solid #f0f0f0; padding-top:9px; }
.cm-postbox .pb-a { flex:1; border:none; background:#f4f1fb; color:#4527a0; border-radius:9px; padding:7px;
  font-size:12.5px; font-weight:700; cursor:pointer; }

.cm-post { background:#fff; border-radius:14px; padding:12px; margin-bottom:9px; box-shadow:0 1px 4px rgba(0,0,0,.06); }
.cm-post .ph { display:flex; gap:9px; align-items:center; }
.cm-post .av { width:36px; height:36px; flex:none; border-radius:50%; background:#ede7f6; overflow:hidden;
  display:flex; align-items:center; justify-content:center; font-size:19px; }
.cm-post .av img { width:100%; height:100%; object-fit:cover; }
.cm-post .who { flex:1; min-width:0; }
.cm-post .who .a { font-size:13.5px; font-weight:800; color:#311b92; }
.cm-post .who .b { font-size:11px; color:#9e9e9e; margin-top:1px; }
.cm-post .who .b .cmn { color:#5e35b1; font-weight:700; }
.cm-post .del { flex:none; border:none; background:transparent; color:#bbb; font-size:15px; cursor:pointer; }
.cm-post .ct { margin-top:9px; font-size:14px; color:#333; line-height:1.65; word-break:break-word; white-space:pre-wrap; }
.cm-post .ct .tp { color:#5e35b1; font-weight:800; }
.cm-post .imgs { display:flex; flex-wrap:wrap; gap:5px; margin-top:9px; }
.cm-post .imgs img, .cm-post .imgs video { width:calc(33.333% - 4px); height:100px; object-fit:cover; border-radius:9px; background:#f5f5f5; }
.cm-post .rw { display:inline-block; margin-top:8px; font-size:11px; font-weight:700; color:#e65100;
  background:#fff3e0; border-radius:8px; padding:2px 7px; }
.cm-post .acts { display:flex; gap:6px; margin-top:10px; border-top:1px solid #f4f4f4; padding-top:9px; }
.cm-post .acts button { flex:1; border:none; background:#f7f7f9; color:#555; border-radius:9px; padding:7px;
  font-size:12.5px; font-weight:700; cursor:pointer; }
.cm-post .acts button.on { background:#ede7f6; color:#5e35b1; }

/* ---------- 跟帖 ---------- */
.cm-cmts { margin-top:10px; background:#fafafa; border-radius:10px; padding:9px 10px; }
.cm-cmt { font-size:12.5px; color:#444; line-height:1.6; padding:4px 0; border-bottom:1px dashed #eee; }
.cm-cmt:last-child { border-bottom:none; }
.cm-cmt b { color:#5e35b1; }
.cm-cmt .tm { color:#bbb; font-size:11px; margin-left:5px; }
.cm-cmtform { display:flex; gap:6px; margin-top:9px; }
.cm-cmtform input { flex:1; min-width:0; padding:8px 11px; border:2px solid #e3e7ee; border-radius:9px; font-size:13px; outline:none; box-sizing:border-box; }
.cm-cmtform input:focus { border-color:#5e35b1; }

/* ---------- 话题 ---------- */
.cm-topics { display:flex; flex-wrap:wrap; gap:7px; }
.cm-topic { border:none; background:#ede7f6; color:#4527a0; border-radius:11px; padding:6px 11px;
  font-size:12.5px; font-weight:700; cursor:pointer; }
.cm-topic b { color:#e65100; margin-left:4px; }

/* ---------- 成员 ---------- */
.cm-mbr { display:flex; gap:9px; align-items:center; background:#fff; border-radius:12px; padding:9px 11px; margin-bottom:6px; box-shadow:0 1px 3px rgba(0,0,0,.05); }
.cm-mbr .av { width:34px; height:34px; flex:none; border-radius:50%; background:#ede7f6; overflow:hidden;
  display:flex; align-items:center; justify-content:center; font-size:18px; }
.cm-mbr .av img { width:100%; height:100%; object-fit:cover; }
.cm-mbr .inf { flex:1; min-width:0; }
.cm-mbr .inf .a { font-size:13.5px; font-weight:800; color:#311b92; }
.cm-mbr .inf .b { font-size:11px; color:#8d6e63; margin-top:1px; }
.cm-mbr .rl { font-size:10.5px; font-weight:800; padding:1px 7px; border-radius:8px; }
.cm-mbr .rl.owner { background:#fff3e0; color:#e65100; }
.cm-mbr .rl.admin { background:#e8eaf6; color:#3949ab; }
.cm-mbr .ops { display:flex; gap:5px; flex:none; }
.cm-mbr .ops button { border:none; border-radius:8px; padding:5px 8px; font-size:11px; font-weight:700; cursor:pointer;
  background:#f0f0f4; color:#555; }
.cm-mbr .ops button.danger { background:#ffebee; color:#c62828; }

/* ---------- 公共池 ---------- */
.cm-pool { background:#fff; border-radius:14px; padding:13px; box-shadow:0 1px 4px rgba(0,0,0,.06); }
.cm-pool .big { font-size:26px; font-weight:900; color:#e65100; }
.cm-pool .sub { font-size:11.5px; color:#8d6e63; margin-top:2px; }
.cm-log { display:flex; justify-content:space-between; gap:8px; font-size:12px; color:#555; padding:6px 0; border-bottom:1px dashed #eee; }
.cm-log:last-child { border-bottom:none; }
.cm-log .d { font-weight:800; }
.cm-log .d.in { color:#c62828; }
.cm-log .d.out { color:#2e7d32; }

/* ---------- 浮层 / 表单 ---------- */
.cm-ovl { align-items:flex-end; }
.cm-ovl.open { display:flex; }
.cm-sheet { width:100%; max-height:88vh; overflow-y:auto; background:#fff; border-radius:18px 18px 0 0;
  padding:16px 16px calc(20px + env(safe-area-inset-bottom)); box-sizing:border-box; }
.cm-sheet .sh-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.cm-sheet .sh-head b { font-size:15.5px; color:#311b92; }
.cm-sheet .sh-x { border:none; background:#f2f2f5; width:30px; height:30px; border-radius:50%; font-size:14px; cursor:pointer; }
.cm-sheet input, .cm-sheet textarea { width:100%; box-sizing:border-box; padding:10px 12px; border:2px solid #e3e7ee;
  border-radius:10px; font-size:14px; outline:none; margin-bottom:8px; font-family:inherit; }
.cm-sheet input:focus, .cm-sheet textarea:focus { border-color:#5e35b1; }
.cm-sheet textarea { resize:vertical; line-height:1.5; }
.cm-sheet .sh-row { margin:2px 0 4px; }
.cm-sheet .sh-lab { font-size:11.5px; color:#8d6e63; }
.cm-sheet .sh-note { font-size:11.5px; color:#795548; background:#fff8e1; border-radius:10px; padding:8px 10px; margin:4px 0 12px; line-height:1.6; }
.cm-sheet .sh-chk { display:flex; align-items:center; gap:7px; font-size:12.5px; color:#555; margin:2px 0 10px; }
.cm-sheet .sh-chk input { width:auto; margin:0; }
.cm-sheet .tbtn.wide { margin-top:4px; }
