/* 全站字体：思源黑体（Noto Sans SC 可变子集，自托管，含全部字重，约 950KB）*/
@font-face{
  font-family:'Noto Sans SC Variable';
  src:url('../assets/fonts/NotoSansSC-subset.woff2?v=2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap;
}
/* 方太梦想宋细（子集，用于登录条第二排金字）*/
@font-face{
  font-family:'FangTaiMengXiangSong';
  src:url('../assets/fonts/fangtai-thin-subset.woff2?v=1') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap;
}
:root{
  --ic-cal:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='15' rx='2.2'/%3E%3Cpath d='M4 9.5h16M8.5 3v4M15.5 3v4'/%3E%3C/svg%3E");
  /* 视觉标准化：单墨绿 + 灰 + 柔金，扁平简约医疗商务风 */
  --green:#246358; --green-d:#246358; --green-l:#E8F0EE;   /* 主墨绿 / 同 / 浅墨绿 */
  --teal:#246358;                                          /* 统一主绿 */
  --gold:#D4B87A; --gold-d:#B89A5E; --gold-l:#EFE6D2;      /* 柔和金（仅强调）*/
  --cinnabar:#246358;                                      /* 取消大红，印章/标记并入主绿 */
  --warn:#F3E6D8;                                          /* 合规/权限：浅橙 */
  --bg:#FFFFFF; --paper:#FFFFFF; --card:#FFFFFF;           /* 纯白底 */
  --ink:#222222; --ink-2:#555555; --ink-3:#888888;         /* 三档中性灰 */
  --line:#EEEEEE; --shadow:none;
  --r:8px;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{
  font-family:'Noto Sans SC Variable','Noto Sans SC',-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  background:#EEF1EF;
  color:var(--ink);display:flex;align-items:center;justify-content:center;
  min-height:100vh;padding:20px;
}
/* 手机框：墨色描边 + 泥金细边，似装裱（仅桌面预览用）*/
.phone{
  width:390px;height:780px;max-height:96vh;background:var(--bg);
  border-radius:38px;overflow:hidden;position:relative;
  box-shadow:0 24px 60px rgba(20,50,35,.30),0 0 0 9px #20302b,0 0 0 11px var(--gold);
  display:flex;flex-direction:column;
}
/* ===== 移动端（<900px）：锁定 390 视口等比铺满，去掉外框 ===== */
@media (max-width:899px){
  body{padding:0;display:block;min-height:100vh;background:var(--bg)}
  .phone{
    width:100vw;height:100vh;height:100dvh;max-height:none;
    border-radius:0;box-shadow:none;
  }
  /* 顶栏品牌缩放规则放在文件末尾「手机端整体优化」块，必须在基础样式之后才能生效 */
}
/* 顶部栏：宣纸底 + 泥金分隔，承载 logo 与国风艺术字 */
.topbar{
  background:linear-gradient(180deg,#fffdf6,#f6efdd);color:var(--ink);padding:28px 16px 7px;
  position:relative;flex-shrink:0;text-align:center;border-bottom:2px solid var(--gold);
  box-shadow:0 2px 0 #efe4c8;
}
/* 详情页（有返回键）：恢复紧凑高度 */
.topbar:has(.back-btn:not([hidden])){padding:10px 16px 8px}
/* logo 与艺术字横向并排 */
.brand-head{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:0}
.brand-logo-img{display:block;height:40px;width:auto;flex-shrink:0}
/* 国风艺术字标题区 */
.brand-art{display:flex;align-items:center}
.brand-art svg{display:block;height:42px;width:auto}
/* 标语：两侧泥金「❖」点缀 */
.brand-tagline{margin-top:3px;text-align:center;font-size:11px;color:var(--green-d);letter-spacing:2px;font-weight:600}
.brand-tagline::before{content:"❖";color:var(--gold);font-size:9px;opacity:.85;margin-right:7px;vertical-align:middle}
.brand-tagline::after{content:"❖";color:var(--gold);font-size:9px;opacity:.85;margin-left:7px;vertical-align:middle}
.brand-tagline .sep{color:var(--gold);margin:0 5px}
.brand-subtitle{text-align:center;font-size:24px;font-weight:700;color:var(--ink);margin-top:3px;letter-spacing:3px}
.topbar-title{display:none;font-size:17px;font-weight:700;color:var(--ink);text-align:center}
.topbar-sub{display:none;font-size:12px;color:var(--ink-3);margin-top:2px;text-align:center}
/* 详情页（显示返回键）：隐藏 logo，显示当前页标题 */
.topbar:has(.back-btn:not([hidden])) .brand-head,
.topbar:has(.back-btn:not([hidden])) .brand-tagline,
.topbar:has(.back-btn:not([hidden])) .brand-subtitle{display:none}
.topbar:has(.back-btn:not([hidden])) .topbar-title,
.topbar:has(.back-btn:not([hidden])) .topbar-sub{display:block}
.back-btn{
  position:absolute;right:14px;top:7px;width:32px;height:32px;border:none;z-index:2;
  background:var(--green-l);color:var(--green-d);border-radius:50%;
  font-size:26px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;padding:0 4px 3px 0;
}
.back-btn:active{transform:scale(.92);background:#cfe2d8}
/* 顶栏左上角：登录/用户入口 */
.login-chip{
  position:absolute;left:12px;top:7px;height:28px;padding:0 11px;border:none;z-index:2;
  background:var(--green-l);color:var(--green-d);border-radius:16px;
  font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:5px;
}
.login-chip.on{background:var(--green);color:#fff}
.login-chip .lc-ic{font-size:14px}
.login-chip .lc-dot{width:7px;height:7px;border-radius:50%;background:#cfe2d8;display:inline-block}
.login-chip .lc-sub{display:none}  /* 移动端只显示姓名，桌面侧栏才显示入职时长 */
.topbar:has(.back-btn:not([hidden])) .login-chip{display:none}
/* 滚动区：宣纸底 + 角落淡青绿/泥金晕染 */
.screen{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;
  background:
    radial-gradient(circle at 14% 6%, rgba(176,141,63,.06), transparent 36%),
    radial-gradient(circle at 90% 96%, rgba(47,125,107,.07), transparent 42%),
    var(--bg);}
.screen::-webkit-scrollbar{width:0}
.pad{padding:14px}
/* Tab 栏 */
.tabbar{
  display:flex;background:linear-gradient(180deg,#fffdf6,#f6efdd);border-top:2px solid var(--gold);flex-shrink:0;
  padding-bottom:8px;
}
.tab{
  flex:1;border:none;background:none;padding:13px 0 5px;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:2px;
  font-size:10.5px;color:var(--ink-3);transition:color .15s;
}
.tab .ti{font-size:19px;filter:grayscale(1) opacity(.55);transition:.15s}
.tab.active{color:var(--green);font-weight:600}
.tab.active .ti{filter:none}
.tab-desk{display:none}   /* 仅桌面侧栏显示的额外专区入口；手机底栏隐藏 */
/* 居中大圆按钮：幸福五个一（朱砂红，凸起） */
.tabbar{overflow:visible}
.tab-center{justify-content:center}
.tc-circle{width:46px;height:46px;border-radius:50%;
  background:radial-gradient(circle at 36% 30%,#d8503f,#b23226 72%);
  color:#fff8ec;font-size:13px;font-weight:800;letter-spacing:.5px;line-height:1;
  display:flex;align-items:center;justify-content:center;margin-top:-10px;
  box-shadow:0 4px 11px rgba(178,50,38,.42),0 0 0 3px #fffdf6,0 0 0 4px #e6dcc6;
  border:1px solid #9c2a20;font-family:'Noto Sans SC Variable','Noto Sans SC',sans-serif}
.tc-circle:active{transform:scale(.94)}
.tab-center .tc-label{font-size:10.5px;color:var(--cinnabar);font-weight:700;margin-top:3px}

/* ===== 通用卡片 ===== */
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;border:1px solid #efe6d0}
.section-title{font-size:15px;font-weight:700;color:var(--green-d);margin:15px 4px 9px;display:flex;align-items:center;gap:8px;
  padding-left:10px;border-left:4px solid var(--gold);letter-spacing:1px}
.section-title .more{margin-left:auto;font-size:12px;color:var(--gold-d);font-weight:600}

/* ===== 首页 ===== */
.hero{
  background:linear-gradient(135deg,#1d5b54,#2f7d6b 55%,#246b73);border-radius:18px;
  padding:16px;color:#fff;position:relative;overflow:hidden;
  border:1px solid var(--gold);box-shadow:0 6px 20px rgba(29,91,84,.28);
  display:flex;align-items:stretch;gap:14px;
}
.hero-main{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}
.hero h2{font-size:18px;font-weight:800;margin-bottom:6px;letter-spacing:1px}
.hero p{font-size:11px;opacity:.92;line-height:1.7;letter-spacing:.3px}
/* 右侧竖排数据，与 hero 融为一体 */
.hero-stats{flex-shrink:0;display:flex;flex-direction:column;justify-content:center;
  padding-left:14px;border-left:1px solid rgba(233,218,177,.4)}
.hs{display:flex;align-items:baseline;justify-content:flex-end;gap:5px;padding:6px 0;min-width:78px}
.hs+.hs{border-top:1px dashed rgba(255,255,255,.18)}
.hs b{font-size:21px;font-weight:800;line-height:1;color:#f0debf;font-variant-numeric:tabular-nums;font-family:Georgia,'Noto Sans SC Variable','Noto Sans SC',sans-serif}
.hs span{font-size:11px;color:rgba(255,255,255,.85);letter-spacing:1px}
.search-entry{
  position:relative;display:flex;align-items:center;gap:8px;background:#fff;border-radius:12px;
  padding:10px 14px;margin-top:11px;box-shadow:var(--shadow);color:var(--ink-3);font-size:13.5px;cursor:text;
}
.search-entry .se-ic{flex-shrink:0;font-size:14px}
.search-entry input{flex:1;min-width:0;border:none;background:none;outline:none;
  font-size:13.5px;color:var(--ink);font-family:inherit}
.search-entry input::placeholder{color:var(--ink-3)}
/* 就地搜索结果下拉 */
.hs-results{display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:60;
  background:#fffdf6;border:1px solid #ece2cc;border-radius:12px;box-shadow:0 10px 30px rgba(40,60,45,.16);
  max-height:360px;overflow-y:auto;padding:4px}
.hs-results.on{display:block}
.hs-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;cursor:pointer}
.hs-row:hover{background:var(--green-l)}
.hs-ic{flex-shrink:0;width:30px;height:30px;border-radius:8px;background:var(--green-l);
  display:flex;align-items:center;justify-content:center;font-size:15px}
.hs-tx{flex:1;min-width:0}
.hs-tx b{display:block;font-size:13.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hs-tx span{font-size:11.5px;color:var(--ink-3)}
.hs-snip{display:block;font-size:11.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hs-results mark{background:#fbe7c0;color:var(--gold-d);padding:0 1px;border-radius:2px}
.hs-empty{padding:14px;text-align:center;color:var(--ink-3);font-size:12.5px}

/* ===== 每日学习：金句品读 / 健康动态 两卡 ===== */
.daily-row{display:flex;flex-direction:column;gap:10px}
.daily-card{background:var(--card);border:1px solid #ece2cc;border-radius:13px;padding:14px 16px;cursor:pointer;box-shadow:var(--shadow)}
.daily-card.gold{border-left:4px solid var(--cinnabar)}
.daily-card.news{border-left:4px solid var(--green)}
.daily-card:active{background:#f8f2e3}
.dc-head{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.dc-seal{flex-shrink:0;width:28px;height:28px;border-radius:7px;background:var(--cinnabar);color:#fff8ec;font-family:'Noto Sans SC Variable','Noto Sans SC',sans-serif;font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center}
.dc-seal.news{background:var(--green);font-size:15px}
.dc-tag{font-size:12.5px;font-weight:800;color:var(--green-d);letter-spacing:1px}
.dc-quote{font-family:'Noto Sans SC Variable','Noto Sans SC',sans-serif;font-size:16px;font-weight:700;color:#5a4a22;line-height:1.6}
.dc-title{font-size:15px;font-weight:700;color:var(--ink);line-height:1.5}
.dc-ex{font-size:12.5px;color:var(--ink-3);line-height:1.7;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dc-more{display:inline-block;margin-top:8px;font-size:12px;font-weight:700;color:var(--gold-d)}
/* 详情 */
.daily-detail{background:var(--card);border:1px solid #ece2cc;border-radius:14px;padding:22px 20px;box-shadow:var(--shadow)}
.dd-seal{width:42px;height:42px;border-radius:9px;background:var(--cinnabar);color:#fff8ec;font-family:'Noto Sans SC Variable','Noto Sans SC',sans-serif;font-weight:800;font-size:23px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.dd-quote{font-family:'Noto Sans SC Variable','Noto Sans SC',sans-serif;font-size:22px;font-weight:800;color:#1d5b54;line-height:1.6;letter-spacing:1px}
.dd-src{font-size:13px;color:var(--gold-d);margin-top:8px}
.dd-tag{display:inline-block;font-size:12px;font-weight:700;color:#fff;background:var(--green);border-radius:8px;padding:3px 11px;margin-bottom:12px}
.dd-h1{font-size:20px;font-weight:800;color:var(--ink);line-height:1.5}
.dd-label{font-size:13px;font-weight:800;color:#2f7d57;letter-spacing:2px;margin:18px 0 8px;padding-left:10px;border-left:3px solid var(--green)}
.dd-body{font-size:15.5px;line-height:2;color:#33473d;text-align:justify;text-indent:2em}
/* ===== 每日学习：两栏，各 3 条 ===== */
.daily-box{flex:1;min-width:0;background:var(--card);border:1px solid #ece2cc;border-radius:13px;padding:12px 14px;box-shadow:var(--shadow)}
.daily-box.gold{border-left:4px solid var(--cinnabar)}
.daily-box.news{border-left:4px solid var(--green)}
.db-head{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:800;color:var(--green-d);margin-bottom:8px}
.db-head .dc-seal{width:24px;height:24px;border-radius:6px;font-size:14px}
.db-head .dc-seal.news{font-size:13px}
.db-more{margin-left:auto;font-size:11.5px;font-weight:700;color:var(--gold-d);cursor:pointer}
.db-list{display:flex;flex-direction:column}
.db-row{padding:9px 0;border-bottom:1px dashed #ece2cc;cursor:pointer}
.db-row:last-child{border-bottom:none}
.db-row:active{opacity:.6}
.db-q{font-family:'Noto Sans SC Variable','Noto Sans SC',sans-serif;font-size:14px;font-weight:700;color:#5a4a22;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.db-t{font-size:13.5px;color:var(--ink);line-height:1.45;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.db-src{display:block;font-size:11px;color:var(--ink-3);margin-top:3px}
.daily-box.gold .db-src{color:var(--gold-d)}
/* ===== 实时健康资讯列表 ===== */
.hn-upd{font-size:11.5px;color:var(--ink-3);margin-bottom:11px}
.hn-item{display:flex;gap:12px;align-items:center;padding:11px 13px;background:var(--card);border:1px solid #ece2cc;border-radius:12px;margin-bottom:10px;text-decoration:none;color:inherit;box-shadow:var(--shadow)}
.hn-item:active{background:#f8f2e3}
.hn-pic{flex-shrink:0;width:66px;height:66px;border-radius:9px;background:#ede6d4 center/cover no-repeat}
.hn-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.hn-tx b{font-size:14.5px;color:var(--ink);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hn-tx span{font-size:12px;color:var(--ink-3);line-height:1.5;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.hn-tx i{font-size:11px;color:var(--gold-d);font-style:normal}
/* ===== 每日一悟 · 金句卡 ===== */
.daily-quote{display:flex;align-items:center;gap:13px;margin-top:12px;
  background:linear-gradient(135deg,#fffdf6,#f6efdd);border:1px solid #ecdcb8;border-left:4px solid var(--cinnabar);
  border-radius:13px;padding:14px 16px;box-shadow:0 2px 10px rgba(146,64,14,.05)}
.dq-seal{flex-shrink:0;width:34px;height:34px;border-radius:7px;background:var(--cinnabar);color:#fff8ec;
  font-family:'Noto Sans SC Variable','Noto Sans SC',sans-serif;font-weight:800;font-size:19px;display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 6px rgba(178,58,46,.3)}
.dq-text{font-family:'Noto Sans SC Variable','Noto Sans SC',sans-serif;font-size:15.5px;font-weight:700;color:#5a4a22;line-height:1.5}
.dq-src{font-size:11.5px;color:var(--gold-d);margin-top:4px;letter-spacing:1px}

/* ===== 继续学习 / 打卡 动态卡 ===== */
.resume-card{margin-top:12px;background:var(--card);border:1px solid #ece2cc;border-radius:14px;padding:14px;box-shadow:var(--shadow)}
.resume-card.guest{display:flex;align-items:center;justify-content:space-between;cursor:pointer}
.rc-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rc-level{display:flex;align-items:center;gap:10px;min-width:0}
.rc-lv-ic{flex-shrink:0;width:38px;height:38px;border-radius:50%;background:var(--green-l);
  display:flex;align-items:center;justify-content:center;font-size:20px}
.rc-lv-tx{display:flex;flex-direction:column;min-width:0}
.rc-lv-tx b{font-size:14.5px;color:var(--green-d);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-lv-tx span{font-size:11.5px;color:var(--ink-3);margin-top:2px}
.rc-more{flex-shrink:0;border:1px solid #e7d9bb;background:#fff;color:var(--gold-d);border-radius:16px;
  padding:5px 12px;font-size:12px;font-weight:700;cursor:pointer}
.rc-metrics{display:flex;gap:8px;margin:12px 0 10px}
.rc-m{flex:1;background:linear-gradient(180deg,#fffdf7,#f7f1e2);border:1px solid #efe6d0;border-radius:10px;padding:8px 4px;text-align:center}
.rc-m b{display:block;font-size:18px;font-weight:800;color:var(--green);font-variant-numeric:tabular-nums}
.rc-m span{font-size:10.5px;color:var(--ink-3)}
.rc-checkin{width:100%;border:none;background:linear-gradient(135deg,#1d5b54,#2f7d6b);color:#fff;
  border-radius:11px;padding:11px;font-size:14px;font-weight:700;letter-spacing:1px;cursor:pointer}
.rc-checkin:active{filter:brightness(.95)}

/* ===== 企业专区 / 今日推荐 图文卡 ===== */
.feature-row{display:flex;flex-direction:column;gap:9px}
.feature-entry,.today-feat{display:flex;align-items:center;gap:12px;background:var(--card);
  border:1px solid #ece2cc;border-radius:13px;padding:12px 14px;cursor:pointer;box-shadow:var(--shadow)}
.feature-entry:active,.today-feat:active{background:#f8f2e3}
.fe-ic{flex-shrink:0;width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:22px}
.fe-ic-pill{background:linear-gradient(135deg,#e8f0ea,#d6e7dd)}
.fe-ic-doc{background:linear-gradient(135deg,#efe6d0,#e6d8b8)}
.fe-tx{flex:1;display:flex;flex-direction:column;min-width:0}
.fe-tx b{font-size:15px;color:var(--ink)}
.fe-tx span{font-size:12px;color:var(--ink-3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fe-go{flex-shrink:0;color:var(--gold);font-size:20px;font-weight:700}
.tf-cover{flex-shrink:0;width:52px;height:52px;border-radius:11px;background:linear-gradient(135deg,#bcdccd,#8fc0ab);
  display:flex;align-items:center;justify-content:center;font-size:26px}
.tf-tx{flex:1;display:flex;flex-direction:column;min-width:0}
.tf-tx b{font-size:14.5px;color:var(--ink);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tf-meta{font-size:11.5px;color:var(--ink-3);margin-top:4px}

/* 知识科普/学习工具：圆形印章图标底 */
.seal-grid .qi{width:38px;height:38px;border-radius:11px;
  background:#f6f0e1;border:1px solid #ece2cc;
  display:flex !important;align-items:center;justify-content:center;margin:0 auto 5px;font-size:19px}

/* ===== 文以修身 · 成长 图文行卡 ===== */
.list-cards{margin-top:4px}
.lc-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);cursor:pointer}
.lc-row:last-child{border-bottom:none}
.lc-row:active{background:#f8f2e3}
.lc-ic{flex-shrink:0;width:40px;height:40px;border-radius:10px;background:var(--green-l);color:var(--green-d);
  display:flex;align-items:center;justify-content:center;font-size:20px}
.lc-ic svg{width:21px;height:21px;display:block}
.lc-tx{flex:1;display:flex;flex-direction:column;min-width:0}
.lc-tx b{font-size:14.5px;color:var(--ink)}
.lc-tx span{font-size:11.5px;color:var(--ink-3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lc-go{flex-shrink:0;color:var(--gold);font-size:19px;font-weight:700}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:4px}
.quick{background:#fffdf7;border:1px solid #ece2cc;border-radius:12px;padding:9px 4px 8px;text-align:center;box-shadow:none;cursor:pointer;transition:.15s}
.quick:active{transform:scale(.96);background:#f3ecd8}
.quick .qi{font-size:20px;display:block;margin-bottom:4px}
.quick span{font-size:11.5px;color:var(--ink-2)}
/* 知识科普：文字小标签 */
.kb-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}
.kbchip{background:#f5eede;border:1px solid #e7dcc4;border-radius:999px;padding:6px 13px;font-size:12.5px;color:var(--ink-2);cursor:pointer;transition:.15s;white-space:nowrap}
.kbchip:hover{background:#eee3cb;color:var(--green-d);border-color:#d8c79c}
.kbchip:active{transform:scale(.96)}
/* 横滑推荐 */
.hscroll{display:flex;gap:10px;overflow-x:auto;padding:2px 4px 6px;scrollbar-width:none}
.hscroll::-webkit-scrollbar{display:none}
.feat-card{min-width:148px;max-width:148px;background:#fff;border-radius:13px;box-shadow:var(--shadow);overflow:hidden;cursor:pointer}
.feat-thumb{height:58px;background:linear-gradient(135deg,#bcdccd,#8fc0ab);display:flex;align-items:center;justify-content:center;font-size:24px}
.feat-card .fc-body{padding:10px}
.feat-card h4{font-size:13px;line-height:1.4;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.feat-card .meta{font-size:11px;color:var(--ink-3)}

/* ===== 列表项（文章） ===== */
.list-item{display:flex;gap:11px;padding:11px 13px;border-bottom:1px solid var(--line);cursor:pointer;background:#fff}
.list-item:active{background:#f6faf8}
.li-icon{width:34px;height:34px;border-radius:10px;background:var(--green-l);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.li-body{flex:1;min-width:0}
.li-body h4{font-size:14.5px;font-weight:600;line-height:1.4;margin-bottom:4px}
.li-body p{font-size:12px;color:var(--ink-3);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.li-meta{display:flex;gap:8px;margin-top:6px;font-size:11px;color:var(--ink-3);align-items:center}
.pill{background:var(--green-l);color:var(--green-d);padding:1px 8px;border-radius:20px;font-size:11px}

/* 筛选 chips */
.filters{display:flex;gap:8px;overflow-x:auto;padding:12px 14px;scrollbar-width:none;background:#fff;border-bottom:1px solid var(--line)}
.filters::-webkit-scrollbar{display:none}
.chip{white-space:nowrap;border:1px solid var(--line);background:#fff;color:var(--ink-2);padding:6px 14px;border-radius:20px;font-size:13px;cursor:pointer;transition:.15s}
.chip.active{background:var(--green);color:#fff;border-color:var(--green)}

/* 搜索框 */
.searchbar{padding:12px 14px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.searchbar input{width:100%;border:none;background:#f1f4f3;border-radius:12px;padding:11px 14px;font-size:14px;outline:none}

/* ===== 文章详情 ===== */
.article{padding:18px 18px 40px;background:#fff;min-height:100%}
.article h1{font-size:21px;line-height:1.4;font-weight:800;margin-bottom:10px}
.article .a-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--ink-3);margin-bottom:18px;align-items:center}
.article p{font-size:15.5px;line-height:1.85;margin-bottom:14px;color:#2a3633}
.article p.sub{font-weight:700;color:var(--ink);font-size:16px;margin-top:6px}
.article .ref-note{background:var(--green-l);border-radius:12px;padding:12px 14px;font-size:13px;color:var(--green-d);margin-top:10px}

/* ===== 视频 ===== */
.video-item{display:flex;gap:11px;padding:11px 13px;border-bottom:1px solid var(--line);cursor:pointer;align-items:center;background:#fff}
.v-thumb{width:74px;height:46px;border-radius:9px;background:linear-gradient(135deg,#246b73,#2f7d6b);position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.v-thumb::after{content:"▶";color:#fff;font-size:18px;opacity:.95}
.v-num{position:absolute;left:6px;top:5px;font-size:11px;color:#fff;font-weight:700;background:rgba(0,0,0,.3);padding:0 6px;border-radius:8px}
.video-item h4{font-size:14.5px;font-weight:600;line-height:1.4}
.video-item .li-meta{margin-top:5px}
.player-wrap{background:#000}
.player-wrap video{width:100%;display:block;max-height:240px}
.player-meta{padding:16px}
.player-meta h2{font-size:17px;font-weight:700;margin-bottom:8px}

/* ===== 问答 / AI ===== */
/* ===== 社团活动 ===== */
.club-card{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid #ece2cc;border-radius:14px;padding:13px 14px;margin-bottom:10px;cursor:pointer;box-shadow:var(--shadow)}
.club-card:active{background:#f8f2e3}
.cl-ic2{flex-shrink:0;width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,#e8f0ea,#d6e7dd);display:flex;align-items:center;justify-content:center;font-size:24px}
.cl-ic2.big{width:60px;height:60px;font-size:32px;margin:0 auto 8px}
.cl-body{flex:1;min-width:0}
.cl-body h4{font-size:15.5px;color:var(--ink);display:flex;align-items:center;gap:6px}
.cl-body p{font-size:12px;color:var(--ink-3);line-height:1.5;margin:3px 0 5px}
.cl-mem{font-size:11.5px;color:var(--gold-d)}
.cl-tag{font-size:10.5px;font-weight:700;color:var(--green-d);background:var(--green-l);border-radius:8px;padding:1px 7px}
.cl-tag.pres{color:#fff;background:var(--cinnabar)}
.club-hero{text-align:center;padding:18px 16px 14px;background:linear-gradient(135deg,#1d5b54,#2f7d6b 55%,#246b73);border:1px solid var(--gold);border-radius:16px;color:#fff;margin-bottom:14px}
.club-hero h2{font-size:19px;font-weight:800;letter-spacing:2px}
.club-hero p{font-size:12.5px;opacity:.92;margin-top:5px}
.club-hero .cl-ic2.big{background:rgba(255,255,255,.16)}
.club-actions{display:flex;gap:10px;margin-bottom:6px}
.club-join,.club-pub{flex:1;border:none;border-radius:11px;padding:11px;font-size:14px;font-weight:700;cursor:pointer}
.club-join{background:linear-gradient(135deg,#1d5b54,#2f7d6b);color:#fff}
.club-join.joined{background:#fff;border:1px solid #e7d9bb;color:var(--ink-3)}
.club-pub{background:linear-gradient(135deg,#c79a3e,#a9781f);color:#fff}
.act-card{background:var(--card);border:1px solid #ece2cc;border-radius:13px;padding:13px 14px;margin-bottom:10px;box-shadow:var(--shadow)}
.act-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.act-head .act-open{font-size:15px;color:var(--ink);cursor:pointer;flex:1}
.act-st{font-size:10.5px;font-weight:700;border-radius:8px;padding:2px 8px;flex-shrink:0}
.act-st.open{color:#fff;background:#2f9e6b}
.act-st.full{color:#fff;background:var(--gold)}
.act-st.ended{color:var(--ink-3);background:#eee7d6}
.act-meta{font-size:12px;color:var(--ink-3);margin-top:6px}
.act-bar{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:12.5px;color:var(--ink-2)}
.act-bar b{color:var(--green-d)}
.act-pts{color:var(--cinnabar);font-weight:700}
.act-signup{width:100%;margin-top:11px;border:none;border-radius:10px;padding:10px;font-size:13.5px;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#1d5b54,#2f7d6b);color:#fff}
.act-signup.wait{background:linear-gradient(135deg,#c79a3e,#a9781f)}
.act-signup.off{background:#eee7d6;color:var(--ink-3)}
.act-detail{background:var(--card);border:1px solid #ece2cc;border-radius:14px;padding:16px;box-shadow:var(--shadow);margin-bottom:6px}
.act-detail h2{font-size:18px;color:var(--green-d);margin-bottom:8px}
.ad-meta{font-size:13px;color:var(--ink-2);margin-top:5px}
.ad-content{font-size:14px;color:var(--ink);line-height:1.8;margin-top:11px;padding-top:11px;border-top:1px dashed #e7ddc8}
.ros-row{display:flex;align-items:center;justify-content:space-between;padding:9px 13px;border-bottom:1px solid var(--line);font-size:13.5px}
.ros-row:last-child{border-bottom:none}
.ros-ph{font-size:11.5px;color:var(--ink-3);margin-left:6px}
.ros-att{font-size:11.5px;color:#2f9e6b;font-weight:700}
.ros-no{font-size:11.5px;color:var(--ink-3)}
.att-row{display:flex;align-items:center;gap:9px;padding:9px 4px;border-bottom:1px solid var(--line);font-size:14px;cursor:pointer}
.att-row:last-of-type{border-bottom:none}
.att-row input{width:18px;height:18px;flex-shrink:0}

/* ===== 我是会员 个人中心 ===== */
.mb-who{font-size:12.5px;color:rgba(255,255,255,.9);margin-top:4px;letter-spacing:.5px}
.mb-guest{text-align:center;padding:40px 22px;background:var(--card);border:1px solid #ece2cc;border-radius:16px;margin-top:30px;box-shadow:var(--shadow)}
.mb-guest-ic{font-size:46px}
.mb-guest h3{font-size:17px;color:var(--green-d);margin:12px 0 6px}
.mb-guest p{font-size:12.5px;color:var(--ink-3);line-height:1.7}
.mb-card{padding:14px}
.mb-info{display:flex;gap:8px}
.mb-i{flex:1;text-align:center}
.mb-i b{display:block;font-size:18px;font-weight:800;color:var(--green);font-variant-numeric:tabular-nums}
.mb-i b.pass{color:#2f9e6b}
.mb-i span{font-size:11px;color:var(--ink-3)}
.mb-btns{display:flex;gap:9px;margin-top:13px}
.mb-btn{flex:1;border:none;border-radius:10px;padding:10px;font-size:13.5px;font-weight:700;cursor:pointer;
  background:linear-gradient(135deg,#1d5b54,#2f7d6b);color:#fff}
.mb-btn.ghost{background:#fff;border:1px solid #e7d9bb;color:var(--gold-d)}
.mb-btn:active{filter:brightness(.96)}
.mb-rank{display:flex;align-items:center;gap:11px;padding:10px 13px;border-bottom:1px solid var(--line)}
.mb-rank:last-child{border-bottom:none}
.mb-rank.me{background:#f3faf6}
.mr-no{flex-shrink:0;width:26px;text-align:center;font-size:15px;font-weight:800;color:var(--gold-d);font-variant-numeric:tabular-nums}
.mr-body{flex:1;display:flex;flex-direction:column;min-width:0}
.mr-body b{font-size:14px;color:var(--ink)}
.mr-body span{font-size:11px;color:var(--ink-3)}
.mr-pts{flex-shrink:0;font-size:16px;font-weight:800;color:var(--green);font-variant-numeric:tabular-nums}
.ai-banner{margin:14px;background:linear-gradient(135deg,#1d5b54,#2f7d6b 55%,#246b73);border-radius:16px;padding:16px;color:#fff}
.ai-banner h3{font-size:16px;margin-bottom:6px}
.ai-banner p{font-size:12.5px;opacity:.9;line-height:1.6}
.demo-tag{display:inline-block;background:rgba(255,255,255,.22);padding:1px 8px;border-radius:10px;font-size:11px;margin-bottom:8px}
.chat{padding:8px 14px 14px}
.msg{margin:12px 0;display:flex;gap:8px;max-width:85%}
.msg.me{margin-left:auto;flex-direction:row-reverse}
.msg .av{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:16px;background:var(--green-l)}
.msg.me .av{background:#e1ede8}
.bubble{background:#fff;border-radius:14px;padding:11px 14px;font-size:14px;line-height:1.65;box-shadow:var(--shadow)}
.msg.me .bubble{background:var(--green);color:#fff}
.bubble .src{margin-top:8px;font-size:12.5px}
.bubble .src a{display:block;color:var(--green-d);padding:5px 0;border-top:1px dashed var(--line);cursor:pointer}
.msg.me .bubble .src a{color:#fff}
.suggest{display:flex;flex-wrap:wrap;gap:8px;padding:4px 14px 10px}
.suggest button{border:1px solid var(--green);color:var(--green-d);background:#fff;border-radius:18px;padding:6px 12px;font-size:12.5px;cursor:pointer}
.composer{display:flex;gap:8px;padding:10px 12px;background:#fff;border-top:1px solid var(--line)}
/* AI 纯聊天页：消息区填满、底部栏(快捷问题+输入框)固定沉底 */
.chat{padding:14px 12px;min-height:calc(100dvh - 172px)}
.ask-bar{position:sticky;bottom:0;z-index:5;background:#fff;border-top:1px solid var(--line)}
.ask-bar .composer{border-top:none;padding-top:6px}
.ask-chips{display:flex;gap:7px;overflow-x:auto;padding:9px 12px 0;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.ask-chips::-webkit-scrollbar{display:none}
.ask-chip{flex-shrink:0;border:1px solid var(--line);background:#fff;color:var(--ink-2);font-size:12.5px;padding:6px 13px;border-radius:16px;white-space:nowrap;cursor:pointer}
.ask-chip:active{background:var(--green-l)}
/* 粘贴图片区 + 已选缩略图 */
.paste-zone{border:1.5px dashed var(--green);background:var(--green-l);border-radius:10px;padding:15px 12px;text-align:center;
  color:var(--green-d);font-size:13px;cursor:pointer;line-height:1.7;font-weight:600}
.paste-zone span{font-size:11.5px;color:var(--ink-3);font-weight:400}
.paste-zone:focus{outline:none;border-color:var(--green-d);background:#cfe2d8}
.pick-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pick-th{position:relative;width:72px;height:72px;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#f1efe8}
.pick-th img{width:100%;height:100%;object-fit:cover;display:block}
.pick-x{position:absolute;top:2px;right:2px;width:18px;height:18px;background:rgba(0,0,0,.55);color:#fff;border-radius:50%;
  font-size:13px;line-height:18px;text-align:center;cursor:pointer}
.composer input{flex:1;border:none;background:#f1f4f3;border-radius:20px;padding:11px 16px;font-size:14px;outline:none}
.composer button{border:none;background:var(--green);color:#fff;border-radius:20px;padding:0 18px;font-size:14px;font-weight:600;cursor:pointer}
/* FAQ */
.faq-item{background:#fff;border-bottom:1px solid var(--line);cursor:pointer}
.faq-q{padding:14px;font-size:14.5px;font-weight:600;display:flex;gap:8px;align-items:flex-start}
.faq-q .qmark{color:var(--green);font-weight:800}
.faq-q .arrow{margin-left:auto;color:var(--ink-3);transition:.2s}
.faq-item.open .arrow{transform:rotate(90deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s;padding:0 14px;font-size:14px;line-height:1.75;color:var(--ink-2)}
.faq-item.open .faq-a{max-height:1600px;padding:0 14px 16px}
.faq-a p{margin-bottom:8px}

/* ===== 资料库 ===== */
.lib-tabs{display:flex;background:#fff;border-bottom:1px solid var(--line)}
.lib-tab{flex:1;text-align:center;padding:13px 0;font-size:13.5px;color:var(--ink-2);cursor:pointer;border-bottom:2px solid transparent}
.lib-tab.active{color:var(--green);border-color:var(--green);font-weight:600}
.pdf-item{display:flex;gap:11px;align-items:center;padding:11px 13px;border-bottom:1px solid var(--line);cursor:pointer;background:#fff}
.pdf-ico{width:30px;height:38px;background:#fee2e2;color:#dc2626;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}
.pdf-item h4{font-size:14px;font-weight:500;line-height:1.45}
.pdf-item .chev{margin-left:auto;color:var(--ink-3)}

/* ===== BMI 计算器 ===== */
.bmi-card{padding:16px}
.bmi-inputs{display:flex;gap:12px}
.bmi-inputs label{flex:1;font-size:13px;color:var(--ink-2);font-weight:600}
.bmi-field{display:flex;align-items:center;background:#f1f4f3;border-radius:12px;padding:0 12px;margin-top:6px}
.bmi-field input{flex:1;width:100%;border:none;background:none;padding:12px 0;font-size:17px;font-weight:700;color:var(--ink);outline:none}
.bmi-field span{font-size:13px;color:var(--ink-3)}
.bmi-hint{text-align:center;color:#ef4444;font-size:13px;margin-top:12px}
.bmi-out{margin-top:16px}
.bmi-num{text-align:center;font-size:42px;font-weight:800;line-height:1;display:flex;align-items:center;justify-content:center;gap:10px}
.bmi-tag{color:#fff;font-size:14px;font-weight:700;padding:3px 12px;border-radius:20px}
.bmi-scale{position:relative;display:flex;height:10px;border-radius:6px;overflow:hidden;margin:22px 0 0}
.bmi-seg{flex:1}
.bmi-pointer{position:absolute;top:-7px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:9px solid;transform:translateX(-50%);transition:left .3s}
.bmi-ticks{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-3);margin-top:6px}
.bmi-ticks span{flex:1;text-align:center}
.bmi-info{text-align:center;font-size:14px;margin-top:14px;color:var(--ink)}
.bmi-info b{color:var(--green-d)}
.bmi-tip{background:var(--green-l);color:var(--green-d);border-radius:12px;padding:11px 14px;font-size:13px;line-height:1.6;margin-top:12px}
.bmi-std{font-size:11px;color:var(--ink-3);margin-top:10px;line-height:1.5;text-align:center}
.bmi-note{font-size:13px;color:var(--ink-3);line-height:1.7;margin-top:14px;padding:0 4px}

/* ===== 赛乐赛 · 奥利司他专区 ===== */
.brand-entry{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#1d5b54,#2f7d6b 55%,#246b73);border-radius:14px;padding:12px 14px;margin-top:11px;color:#fff;cursor:pointer;box-shadow:var(--shadow)}
.brand-entry:active{opacity:.93}
.be-ico{width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:21px;flex-shrink:0}
.be-text{flex:1;min-width:0}
.be-text b{display:block;font-size:14.5px;font-weight:700}
.be-text span{font-size:11px;opacity:.9}
.be-go{font-size:12.5px;background:#fff;color:var(--green-d);border-radius:16px;padding:6px 12px;font-weight:700;white-space:nowrap}
.brand-hero{background:linear-gradient(135deg,#1d5b54,#2f7d6b 55%,#246b73);padding:18px 20px 20px;text-align:center;color:#fff}
.bh-logo{background:#fff;border-radius:14px;padding:9px 14px;display:inline-flex;box-shadow:0 4px 14px rgba(0,0,0,.16)}
.bh-logo img{height:52px;display:block}
.brand-hero h2{font-size:17px;font-weight:700;margin-top:10px}
.disclaimer{background:#fef3c7;color:#92400e;border-radius:12px;padding:11px 14px;font-size:12px;line-height:1.7;margin-top:6px}
/* 文化互动占位页 */
.culture-hero{background:linear-gradient(135deg,#1d5b54,#2f7d6b 55%,#246b73);border:1px solid var(--gold);border-radius:18px;padding:20px;color:#fff;text-align:center;position:relative;overflow:hidden;box-shadow:0 6px 20px rgba(29,91,84,.28)}
.culture-hero .ch-seal{width:44px;height:44px;margin:0 auto 8px;border-radius:8px;background:var(--cinnabar);color:#fff8ec;font-size:24px;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:'Noto Sans SC Variable','Noto Sans SC',sans-serif;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.culture-hero h2{font-size:20px;font-weight:800;letter-spacing:3px}
.culture-hero p{font-size:12.5px;opacity:.92;margin-top:5px;letter-spacing:2px}
.culture-list{margin-top:14px;display:flex;flex-direction:column;gap:10px}
.culture-card{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid #efe6d0;border-left:4px solid var(--gold);border-radius:13px;padding:13px 14px;box-shadow:var(--shadow)}
.culture-card .cc-ic{font-size:24px;flex-shrink:0}
.culture-card .cc-text{flex:1;display:flex;flex-direction:column;gap:2px}
.culture-card .cc-text b{font-size:15px;color:var(--green-d)}
.culture-card .cc-text span{font-size:12px;color:var(--ink-3)}
.culture-card .cc-soon{font-size:11px;font-weight:700;color:var(--gold-d);background:#f6eed6;border-radius:10px;padding:3px 9px;flex-shrink:0}
/* 文档（PDF）阅读器 */
.docview{display:flex;flex-direction:column;height:100%}
.doc-frame{flex:1;width:100%;border:none;background:#fff}
.doc-open{display:block;text-align:center;padding:11px;font-size:13px;font-weight:700;
  color:var(--green-d);background:linear-gradient(180deg,#fffdf6,#f6efdd);
  border-top:1px solid var(--line);text-decoration:none}
.doc-open:active{background:#f3ecd8}
/* 可折叠卡片 */
.fold{overflow:hidden}
.fold-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;font-size:15px;font-weight:700;cursor:pointer;color:var(--ink)}
.fold-head .fold-arrow{color:var(--ink-3);font-size:20px;transition:transform .2s}
.fold.open .fold-head .fold-arrow{transform:rotate(90deg)}
.fold-body{max-height:0;overflow:hidden;transition:max-height .35s ease}
.fold.open .fold-body{max-height:1600px}
.brand-company{padding:0 16px}
.fold.open .brand-company{padding:0 16px 14px}
.brand-company p{font-size:14px;line-height:1.75;margin-bottom:9px;color:#2a3633}
.brand-company p.sub{font-weight:700;color:var(--ink);margin-top:6px;margin-bottom:6px}
.src-list{padding:2px 0}
.src-row{display:block;padding:12px 14px;border-bottom:1px solid var(--line);color:var(--green-d);font-size:13.5px}
.src-row:last-child{border-bottom:none}

/* ===== 测验入口 CTA ===== */
.quiz-cta{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#1d5b54,#2f7d6b 55%,#246b73);border-radius:16px;padding:16px;margin-top:22px;color:#fff;cursor:pointer}
.quiz-cta:active{opacity:.92}
.quiz-cta .qc-left{flex:1}
.quiz-cta .qc-title{font-size:15px;font-weight:700}
.quiz-cta .qc-sub{font-size:12px;opacity:.9;margin-top:3px}
.quiz-cta .qc-btn{background:#fff;color:var(--green-d);border:none;border-radius:18px;padding:8px 14px;font-size:13px;font-weight:700;white-space:nowrap}

/* ===== 考试库列表 ===== */
.big-btn{width:100%;border:none;background:var(--green);color:#fff;border-radius:14px;padding:14px;font-size:15px;font-weight:700;cursor:pointer;margin-top:10px;box-shadow:var(--shadow)}
.big-btn:active{transform:scale(.99)}
.big-btn.ghost{background:#fff;color:var(--ink-2);border:1px solid var(--line);box-shadow:none}
.quiz-row,.topic-row{display:flex;gap:11px;align-items:center;padding:11px 13px;border-bottom:1px solid var(--line);cursor:pointer;background:#fff}
.quiz-row:last-child,.topic-row:last-child{border-bottom:none}
.quiz-row:active,.topic-row:active{background:#f6faf8}
.topic-row .qr-ico{background:linear-gradient(135deg,#e6ede6,#cfe0d3);font-size:18px}
.topic-row .chev{margin-left:auto;color:var(--ink-3)}
.qgroup-label{font-size:12.5px;color:var(--ink-2);font-weight:700;margin:8px 18px 4px}
.qr-ico{width:32px;height:32px;border-radius:9px;background:var(--green-l);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.quiz-row .chev{margin-left:auto;color:var(--ink-3)}

/* ===== 答题器 ===== */
.quiz-wrap{padding:18px}
.quiz-prog{font-size:13px;color:var(--ink-2);margin-bottom:14px}
.prog-bar{height:6px;background:var(--line);border-radius:6px;margin-top:8px;overflow:hidden}
.prog-bar i{display:block;height:100%;background:var(--green);border-radius:6px;transition:width .3s}
.quiz-q{font-size:18px;font-weight:700;line-height:1.5;margin-bottom:18px;color:var(--ink)}
.quiz-opts{display:flex;flex-direction:column;gap:10px}
.opt{display:flex;align-items:center;gap:12px;text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:14px;font-size:15px;color:var(--ink);cursor:pointer;transition:.12s;line-height:1.4}
.opt:active{border-color:var(--green)}
.opt-k{width:26px;height:26px;flex-shrink:0;border-radius:50%;background:#f1f4f3;color:var(--ink-2);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.opt.correct{border-color:var(--green);background:var(--green-l)}
.opt.correct .opt-k{background:var(--green);color:#fff}
.opt.wrong{border-color:#f87171;background:#fee2e2}
.opt.wrong .opt-k{background:#ef4444;color:#fff}
.opt:disabled{cursor:default}
.quiz-exp{margin-top:16px;border-radius:14px;padding:14px;font-size:14px;line-height:1.7}
.quiz-exp.ok{background:var(--green-l);color:var(--green-d)}
.quiz-exp.no{background:#fef3c7;color:#92400e}
/* 结果页 */
.quiz-result{padding:24px 18px;text-align:center}
.qr-emoji{font-size:56px}
.qr-score{font-size:38px;font-weight:800;margin-top:6px}
.qr-grade{font-size:15px;color:var(--ink-2);margin-bottom:18px}
.qr-review{text-align:left;margin:10px 0 18px}
.rev{display:flex;gap:10px;padding:12px;border-radius:12px;margin-bottom:8px;background:#fff;box-shadow:var(--shadow)}
.rev .rev-q{font-size:14px;font-weight:600;line-height:1.5}
.rev .rev-a{font-size:13px;color:var(--green-d);margin-top:4px}
.rev.no .rev-a{color:#b45309}

/* ===== 登录 / 注册 ===== */
.auth2{padding-bottom:24px}
.auth2-hero{text-align:center;padding:22px 20px 26px;background:linear-gradient(135deg,#1d5b54,#2f7d6b 55%,#246b73);color:#fff;border-radius:0 0 26px 26px}
.auth2-logo{background:#fff;display:inline-flex;padding:9px 16px;border-radius:14px;box-shadow:0 6px 18px rgba(0,0,0,.16)}
.auth2-logo img{height:38px;display:block}
.auth2-hero h2{font-size:20px;font-weight:700;margin-top:14px}
.auth2-hero p{font-size:13px;opacity:.92;margin-top:5px}
.auth2-body{margin:-16px 18px 0;background:#fff;border-radius:18px;box-shadow:0 8px 24px rgba(20,40,30,.1);padding:18px 16px;position:relative}
.auth2-seg{position:relative;display:flex;background:#f1f4f3;border-radius:12px;padding:4px;margin-bottom:18px}
.a2tab{flex:1;border:none;background:none;padding:9px 0;font-size:14px;font-weight:700;color:var(--ink-3);cursor:pointer;position:relative;z-index:1}
.a2tab.on{color:var(--green-d)}
.a2slider{position:absolute;top:4px;left:4px;width:calc(50% - 4px);height:calc(100% - 8px);background:#fff;border-radius:9px;box-shadow:0 2px 6px rgba(0,0,0,.08);transition:transform .2s}
.a2slider.right{transform:translateX(100%)}
.a2-field{display:flex;align-items:center;gap:8px;background:#f6f8f7;border:1.5px solid transparent;border-radius:12px;padding:0 12px;margin-bottom:12px;transition:border .15s,background .15s}
.a2-field:focus-within{border-color:var(--green);background:#fff}
.a2-ic{font-size:16px;opacity:.7}
.a2-field input{flex:1;border:none;background:none;padding:13px 0;font-size:15px;outline:none;color:var(--ink)}
.a2-label{font-size:13px;color:var(--ink-2);font-weight:700;margin:2px 2px 8px}
.a2-gender{display:flex;gap:10px;margin-bottom:12px}
.a2-gender button{flex:1;border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:11px 0;font-size:15px;color:var(--ink-2);cursor:pointer;font-weight:700}
.a2-gender button.on{border-color:var(--green);background:var(--green-l);color:var(--green-d)}
.auth2-msg{color:#ef4444;font-size:13px;min-height:18px;margin:0 2px 6px;text-align:center}
.auth2-btn{width:100%;border:none;background:linear-gradient(135deg,#1d5b54,#2f7d6b 55%,#246b73);color:#fff;border-radius:12px;padding:14px;font-size:16px;font-weight:700;letter-spacing:2px;cursor:pointer;box-shadow:0 6px 16px rgba(29,91,84,.28)}
.auth2-btn:active{transform:scale(.99)}
.auth2-switch{text-align:center;font-size:13px;color:var(--ink-3);margin-top:14px}
.auth2-switch a{color:var(--green-d);font-weight:700;cursor:pointer}
.auth2-tip{text-align:center;font-size:11.5px;color:var(--ink-3);margin:16px 26px 0;line-height:1.6}
/* 个人中心 */
.profile-card{background:linear-gradient(135deg,#1d5b54,#2f7d6b 55%,#246b73);border-radius:18px;padding:24px;text-align:center;color:#fff;box-shadow:var(--shadow)}
.pf-avatar{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:34px;margin:0 auto 10px}
.pf-name{font-size:20px;font-weight:700}
.pf-meta{font-size:13px;opacity:.92;margin-top:5px}

/* ===== 学习成长（游戏化） ===== */
.growth-entry{background:linear-gradient(135deg,#f59e0b,#f97316)}
.gw-hero{background:linear-gradient(135deg,#1d5b54,#2f7d6b 55%,#246b73);color:#fff;text-align:center;padding:22px 24px 24px}
.gw-badge{font-size:54px;line-height:1}
.gw-lv{font-size:19px;font-weight:700;margin-top:6px}
.gw-prog{height:10px;background:rgba(255,255,255,.25);border-radius:6px;margin:14px 0 8px;overflow:hidden}
.gw-prog i{display:block;height:100%;background:#fde68a;border-radius:6px;transition:width .4s}
.gw-need{font-size:12.5px;opacity:.95}
.gw-stats{display:flex;gap:9px;margin-top:2px}
.gw-stat{flex:1;background:#fff;border-radius:13px;padding:11px 4px;text-align:center;box-shadow:var(--shadow)}
.gw-stat b{display:block;font-size:17px;color:var(--green);font-weight:800}
.gw-stat span{font-size:10.5px;color:var(--ink-2)}
.gw-ladder{padding:2px 0}
.gw-step{display:flex;align-items:center;gap:11px;padding:11px 14px;border-bottom:1px solid var(--line)}
.gw-step:last-child{border-bottom:none}
.gw-step .gs-ic{font-size:22px;filter:grayscale(1) opacity(.5)}
.gw-step.done .gs-ic,.gw-step.on .gs-ic{filter:none}
.gw-step .gs-body{flex:1}
.gw-step .gs-body b{font-size:14px;font-weight:600;display:block}
.gw-step.on .gs-body b{color:var(--green-d)}
.gw-step .gs-body span{font-size:11.5px;color:var(--ink-3)}
.gs-tag{font-size:11px;color:var(--ink-3);background:#f1f4f3;padding:2px 9px;border-radius:10px}
.gs-tag.now{background:var(--green);color:#fff}
.gw-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.gw-bd{background:#fff;border-radius:13px;padding:12px 4px;text-align:center;box-shadow:var(--shadow);opacity:.55}
.gw-bd.got{opacity:1}
.gw-bd .bd-ic{font-size:26px;display:block}
.gw-bd b{font-size:11.5px;display:block;margin-top:4px;font-weight:600}
.gw-bd span{font-size:9.5px;color:var(--ink-3);display:block;line-height:1.3;margin-top:2px}
.gw-reward{display:flex;align-items:center;gap:11px;padding:12px 14px;border-bottom:1px solid var(--line)}
.gw-reward:last-child{border-bottom:none}
.rw-ic{width:40px;height:40px;border-radius:11px;background:#fef3c7;display:flex;align-items:center;justify-content:center;font-size:21px;flex-shrink:0}
.rw-btn{border:none;background:var(--green);color:#fff;border-radius:16px;padding:7px 14px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.rw-btn.no{background:#e5e7eb;color:var(--ink-3)}
.rw-btn.done{background:var(--green-l);color:var(--green-d)}
.gw-msg{text-align:center;color:var(--green-d);font-size:13.5px;font-weight:700;min-height:18px;margin-top:10px}

/* ===== 小游戏：21天减脂养成 ===== */
.game-entry{background:linear-gradient(135deg,#7c3aed,#db2777)}
.gm-intro .gi-hero{background:linear-gradient(135deg,#7c3aed,#db2777);color:#fff;text-align:center;padding:26px 22px}
.gi-emoji{font-size:54px}
.gm-intro .gi-hero h2{font-size:21px;font-weight:800;margin-top:8px}
.gm-intro .gi-hero p{font-size:13px;opacity:.92;margin-top:6px;line-height:1.6}
.gi-rules{padding:14px 16px}
.gi-rules p{font-size:13.5px;line-height:1.9;color:var(--ink-2)}
.gi-rules b{color:var(--ink)}
.gi-best{text-align:center;font-size:13px;color:var(--green-d);background:var(--green-l);border-radius:12px;padding:10px;margin:12px 0}
/* 顶部状态栏 */
.gm-status{background:linear-gradient(135deg,#7c3aed,#db2777);color:#fff;padding:14px 16px}
.gm-day{font-size:13px;opacity:.95;margin-bottom:9px;font-weight:700}
.gm-srow{display:flex;align-items:center;gap:10px}
.gm-st{background:rgba(255,255,255,.18);border-radius:10px;padding:5px 10px;display:flex;align-items:baseline;gap:3px}
.gm-st span{font-size:13px}
.gm-st b{font-size:17px;font-weight:800}
.gm-st i{font-size:11px;opacity:.85;font-style:normal}
.gm-bar2{flex:1;min-width:0}
.gm-bar2 span{font-size:11px;display:block;margin-bottom:3px}
.gm-bar2 .b{height:7px;background:rgba(255,255,255,.25);border-radius:5px;overflow:hidden}
.gm-bar2 .b i{display:block;height:100%;background:#fde68a;border-radius:5px;transition:width .3s}
.gm-bar2 .b.hp i{background:#fca5a5}
.gm-body{padding:16px 14px}
.gm-q{font-size:16px;font-weight:700;margin:2px 4px 14px;line-height:1.4}
.gm-opt{width:100%;display:flex;align-items:center;gap:12px;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:13px;margin-bottom:11px;cursor:pointer;text-align:left;box-shadow:var(--shadow)}
.gm-opt:active{border-color:#7c3aed;transform:scale(.99)}
.go-emoji{font-size:26px;flex-shrink:0}
.go-mid{flex:1;min-width:0}
.go-mid b{font-size:15px;font-weight:700;display:block}
.go-mid>span{font-size:12px;color:var(--ink-3);display:block;margin-top:2px}
.go-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.go-tags .tg{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:700}
.tg.cal{background:#fee2e2;color:#dc2626}
.tg.burn{background:#e1ede8;color:#2f7d6b}
.tg.up{background:#fef3c7;color:#b45309}
.tg.down{background:#e0e7ff;color:#4338ca}
.go-go{color:var(--ink-3);font-size:20px;align-self:center}
/* 反馈 / 小结 */
.gm-feed,.gm-summary{background:#fff;border-radius:16px;padding:18px;box-shadow:var(--shadow)}
.gf-pick{font-size:14px;color:var(--ink-2)}
.gf-pick b{color:var(--ink)}
.gf-tip{background:#f5f3ff;color:#6d28d9;border-radius:12px;padding:13px;font-size:14px;line-height:1.7;margin:12px 0 4px}
.gm-next{margin-top:14px}
.gs-title{font-size:16px;font-weight:700;margin-bottom:12px}
.gs-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink-2)}
.gs-row b{color:var(--ink)}
.gs-row b.good{color:var(--green)}
.gs-row b.bad{color:#ef4444}
.gs-binge{background:#fee2e2;color:#b91c1c;border-radius:12px;padding:11px;font-size:13px;margin-top:12px}
/* 结局 */
.gm-end{padding:30px 22px;text-align:center}
.ge-emoji{font-size:64px}
.ge-title{font-size:24px;font-weight:800;margin-top:8px}
.ge-desc{font-size:14px;color:var(--ink-2);line-height:1.7;margin-top:10px}
.ge-stats{display:flex;gap:10px;margin:20px 0}
.ge-stats>div{flex:1;background:#fff;border-radius:14px;padding:14px 4px;box-shadow:var(--shadow)}
.ge-stats b{font-size:19px;font-weight:800;display:block}
.ge-stats b.good{color:var(--green)}
.ge-stats b.bad{color:#ef4444}
.ge-stats span{font-size:11px;color:var(--ink-3)}
.ge-reward{background:#fef3c7;color:#b45309;border-radius:12px;padding:12px;font-size:14px;font-weight:700;margin-bottom:14px}

/* ===== 规范管理制度 ===== */
.comp-entry{background:linear-gradient(135deg,#475569,#334155)}
.comp-hero{background:linear-gradient(135deg,#475569,#1e293b);color:#fff;text-align:center;padding:22px 20px}
.comp-hero .ch-ic{font-size:42px}
.comp-hero h2{font-size:19px;font-weight:700;margin-top:8px}
.comp-hero .ch-ver{font-size:12px;opacity:.85;margin-top:4px}
.comp-intro{padding:14px 16px}
.comp-intro p{font-size:13.5px;line-height:1.8;color:var(--ink-2);margin-bottom:6px}
.comp-notes{padding:14px 16px}
.comp-notes p{font-size:13px;line-height:1.8;color:var(--ink-2);margin-bottom:8px}
.comp-notes b{color:var(--ink)}
.pen-table{padding:4px 0;margin-top:6px}
.pen-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--line);font-size:13.5px}
.pen-row:last-child{border-bottom:none}
.pen-row span{color:var(--ink-2)}
.pen-row b{color:#dc2626;font-weight:700;text-align:right}

/* ===== 中华传统文化专区 ===== */
.classic-entry{background:linear-gradient(135deg,#b45309,#92400e)}
.cl-hero{background:linear-gradient(135deg,#b45309,#7c2d12);color:#fff;text-align:center;padding:22px 20px}
.cl-hero .cl-ic{font-size:42px}
.cl-hero h2{font-size:20px;font-weight:700;margin-top:8px;letter-spacing:2px}
.cl-hero p{font-size:12.5px;opacity:.9;margin-top:5px;letter-spacing:3px}
.cl-book{background:#fff;border-radius:16px;padding:20px 18px;box-shadow:var(--shadow);text-align:center}
.cl-book h1{font-size:24px;font-weight:800;letter-spacing:2px}
.cl-meta{font-size:13px;color:var(--ink-3);margin-top:6px}
.cl-intro{font-size:14px;color:var(--ink-2);line-height:1.85;margin-top:14px;text-align:left}
.cl-read{background:#fffdf8;min-height:100%;padding:20px 20px 40px}
.cl-read h1{font-size:21px;font-weight:800;text-align:center;letter-spacing:2px;margin-bottom:6px}
.cl-read .cl-meta{text-align:center;margin-bottom:20px}
.cl-read .cl-intro{margin-bottom:8px;padding-bottom:14px;border-bottom:1px dashed #e7ddc8}
.cl-toc-title{font-size:14px;font-weight:800;color:#92400e;margin:18px 0 8px;letter-spacing:1px}
.cl-toc{display:flex;flex-wrap:wrap;gap:8px;padding:12px;background:#fff8ec;border:1px solid #f0e3c8;border-radius:12px;margin-bottom:8px}
.cl-toc-item{border:1px solid #e7d9bb;background:#fff;color:#7c5a1e;border-radius:18px;padding:6px 13px;font-size:13.5px;cursor:pointer;line-height:1.4}
.cl-toc-item:active{background:#fdebc8}
.cl-chap{font-size:16px;font-weight:800;color:#92400e;text-align:center;margin:22px 0 10px;letter-spacing:1px;scroll-margin-top:8px}
.cl-indent{text-indent:1em}
.cl-indent2{text-indent:2em}

/* ---- 金刚经 目录页（单独成页）---- */
.jg-toc-head{display:flex;align-items:center;justify-content:center;gap:10px;font-size:15px;font-weight:800;color:#92400e;letter-spacing:3px;margin:20px 0 14px}
.jg-toc-deco{color:#cda349;font-size:13px}
.jg-toc{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.jg-toc-item{display:flex;align-items:center;gap:9px;text-align:left;
  background:linear-gradient(135deg,#fffdf7,#fff6e6);border:1px solid #ecdcb8;border-radius:14px;
  padding:12px 11px;cursor:pointer;box-shadow:0 2px 8px rgba(146,64,14,.05);transition:.15s}
.jg-toc-item:active{background:#fdeecb;transform:scale(.97)}
.jg-num{flex-shrink:0;width:28px;height:28px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;
  font-variant-numeric:tabular-nums;font-family:Georgia,'Times New Roman',serif;line-height:1;white-space:nowrap;
  color:#fff;background:linear-gradient(135deg,#c79a3e,#a9781f);box-shadow:0 1px 4px rgba(169,120,31,.4)}
.jg-name{flex:1;font-size:14.5px;font-weight:700;color:#6b4d18;line-height:1.3}
.jg-go{color:#caa85e;font-size:18px;font-weight:700}

/* ---- 金刚经 单章原文页 ---- */
.jg-chap-head{text-align:center;margin:6px 0 18px;padding-bottom:16px;border-bottom:1px solid #efe2c6}
.jg-chap-num{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;
  font-size:21px;font-weight:700;font-family:Georgia,'Times New Roman',serif;font-variant-numeric:tabular-nums;line-height:1;
  color:#fff;background:linear-gradient(135deg,#c79a3e,#a9781f);
  box-shadow:0 3px 10px rgba(169,120,31,.35);margin-bottom:10px}
.jg-chap-head h2{font-size:19px;font-weight:800;color:#92400e;letter-spacing:1px;margin:0}
.jg-chap-of{font-size:12px;color:#b08d4e;margin-top:6px;letter-spacing:1px}
.jg-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:24px}
.jg-nav-btn{border:1px solid #e7d9bb;background:#fff;color:#7c5a1e;border-radius:20px;
  padding:8px 16px;font-size:13.5px;font-weight:700;cursor:pointer;line-height:1.2}
.jg-nav-btn:active{background:#fdebc8}
.jg-nav-toc{background:linear-gradient(135deg,#c79a3e,#a9781f);color:#fff;border-color:transparent}

/* ---- 白话解析卡片 ---- */
.jg-explain{margin-top:22px;background:linear-gradient(180deg,#f4faf6,#eef6f0);
  border:1px solid #d6e8dc;border-left:4px solid #5b9c78;border-radius:12px;padding:14px 16px 16px;
  box-shadow:0 2px 10px rgba(43,98,68,.06)}
.jg-explain-tag{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:800;
  color:#2f7d57;letter-spacing:3px;margin-bottom:8px}
.jg-explain-ic{font-size:15px}
.jg-explain-body{font-size:15.5px;line-height:1.95;color:#33473d;text-align:justify;text-indent:2em;margin:0}

/* 了凡四训：正文字号统一为首句字号 */
.cl-liaofan .cl-line{font-size:19px}
.cl-liaofan .cl-first{font-weight:800;color:#1e3a8a}
.cl-first{font-size:19px;font-weight:800;color:#1e3a8a}
.cl-line{font-size:19px;line-height:2.5;color:#2a2420;margin-bottom:10px;letter-spacing:1px}
.cl-line ruby rt{font-size:10px;color:#b45309;font-weight:400}
.cl-ch .li-body h4{font-weight:600}

/* ===== 肥胖分类 · 自测 ===== */
.ob-q{font-size:14px;font-weight:700;color:var(--ink);margin:14px 2px 8px}
.ob-q:first-child{margin-top:2px}
.ob-opts{display:flex;flex-direction:column;gap:8px}
.ob-opts button{text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:11px 13px;font-size:14px;color:var(--ink-2);cursor:pointer;line-height:1.4}
.ob-opts button.on{border-color:var(--green);background:var(--green-l);color:var(--green-d);font-weight:700}
.ob-result{margin-top:16px;background:#f6faf8;border-radius:14px;padding:16px}
.obr-bmi{text-align:center;font-size:24px;font-weight:800;color:var(--green);margin-bottom:10px}
.obr-line{font-size:14px;color:var(--ink-2);margin-bottom:7px}
.obr-line b{color:var(--ink)}
.obr-tip{background:var(--green-l);color:var(--green-d);border-radius:10px;padding:9px 12px;font-size:13px;line-height:1.6;margin-top:8px}
.ob-warn{background:#fef3c7;color:#92400e;border-radius:10px;padding:11px 13px;font-size:13px;line-height:1.7;margin-top:10px}

/* ===== 五个一打卡 ===== */
.checkin-entry{background:linear-gradient(135deg,#2f7d6b,#246b73)}
.ck-hero{background:linear-gradient(135deg,#2f7d6b,#246b73);color:#fff;padding:18px 18px 16px}
.ckh-name{font-size:18px;font-weight:800}
.ckh-desc{font-size:12px;opacity:.92;line-height:1.6;margin-top:6px}
.ckh-five{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ckh-five span{background:rgba(255,255,255,.2);border-radius:20px;padding:3px 10px;font-size:11.5px}
.ckh-meta{font-size:11.5px;opacity:.85;margin-top:10px}
.ck-tabs{display:flex;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:3}
.ckt{flex:1;border:none;background:none;padding:12px 0;font-size:13.5px;color:var(--ink-2);cursor:pointer;border-bottom:2px solid transparent}
.ckt.on{color:#246b73;border-color:#246b73;font-weight:700}
.ck-list{margin-top:12px;display:flex;flex-direction:column;gap:12px}
.ck-post{background:#fff;border-radius:14px;box-shadow:var(--shadow);padding:14px}
.ck-head{display:flex;align-items:center;gap:10px}
.ck-av{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#2f7d6b,#246b73);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0}
.ck-who b{font-size:14.5px;font-weight:700;display:block}
.ck-who span{font-size:11.5px;color:var(--ink-3)}
.ck-topic{color:#dc2626;font-size:13.5px;font-weight:700;margin:10px 0 6px}
.ck-text{font-size:14.5px;line-height:1.7;color:#2a3633;white-space:pre-wrap}
.ck-img{width:100%;border-radius:12px;margin-top:10px;display:block}
.ck-img.ph{height:140px;background:linear-gradient(135deg,#bae6fd,#a5b4fc);display:flex;align-items:center;justify-content:center;color:#1d5b54;font-size:15px;font-weight:700}
.ck-cmts{background:#f6f8fa;border-radius:10px;padding:8px 11px;margin-top:10px}
.ck-c{font-size:13px;line-height:1.7;color:var(--ink-2)}
.ck-c b{color:var(--ink)}
.ck-acts{display:flex;gap:8px;margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.ck-act{flex:1;border:none;background:#f1f4f3;border-radius:10px;padding:8px 0;font-size:13px;color:var(--ink-2);cursor:pointer}
.ck-act.on{background:#e1ede8;color:#246b73;font-weight:700}
.ck-rank{display:flex;align-items:center;gap:11px;padding:12px 14px;border-bottom:1px solid var(--line)}
.ck-rank:last-child{border-bottom:none}
.ck-rank.me{background:#eef3ea}
.ckr-no{width:26px;height:26px;border-radius:50%;background:#f1f4f3;color:var(--ink-2);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex-shrink:0}
.ckr-no.top{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff}
.ckr-days{color:#246b73;font-weight:800;font-size:15px}
.ck-stats{display:flex;gap:9px}
.ck-stat{flex:1;background:#fff;border-radius:13px;padding:12px 4px;text-align:center;box-shadow:var(--shadow)}
.ck-stat b{display:block;font-size:21px;color:#246b73;font-weight:800}
.ck-stat span{font-size:11px;color:var(--ink-2)}
.cal-title{text-align:center;font-size:14px;font-weight:700;margin-bottom:10px}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-w{text-align:center;font-size:11px;color:var(--ink-3);padding:2px 0}
.cal-d{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:12.5px;color:var(--ink-2);border-radius:8px}
.cal-d.on{background:#246b73;color:#fff;font-weight:700}
.cal-d.today{outline:2px solid #93c5fd}
.ck-q{font-size:14px;font-weight:700;margin:14px 2px 8px}
.ck-q:first-child{margin-top:2px}
.ck-topics{display:flex;flex-wrap:wrap;gap:8px}
.ck-topics button{border:1.5px solid var(--line);background:#fff;border-radius:18px;padding:6px 12px;font-size:12.5px;color:var(--ink-2);cursor:pointer}
.ck-topics button.on{border-color:#246b73;background:#e1ede8;color:#246b73;font-weight:700}
.ck-textarea{width:100%;min-height:340px;border:1.5px solid var(--line);border-radius:12px;padding:13px;font-size:13px;line-height:1.65;outline:none;font-family:inherit;resize:vertical}
.ck-textarea:focus{border-color:#246b73}
.ck-msg{text-align:center;color:#ef4444;font-size:13px;min-height:18px;margin-top:8px}

/* ===== 体重管理技术认证模拟考试 ===== */
.cert-entry{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#246b73,#1d5b54);color:#fff;border-radius:14px;padding:13px 14px;margin:0 14px 4px;cursor:pointer;box-shadow:var(--shadow)}
.cert-entry:active{opacity:.93}
.ce-ic{width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.ce-text{flex:1;min-width:0}
.ce-text b{display:block;font-size:14.5px;font-weight:700}
.ce-text span{font-size:11px;opacity:.9}
.ce-go{font-size:12.5px;background:#fff;color:#1d5b54;border-radius:16px;padding:6px 12px;font-weight:700;white-space:nowrap}
.cert-hero{background:linear-gradient(135deg,#246b73,#1d5b54);color:#fff;text-align:center;padding:22px 20px}
.cert-hero .ch-ic{font-size:44px}
.cert-hero h2{font-size:18px;font-weight:700;margin-top:8px}
.cert-hero .ch-ver{font-size:12px;opacity:.85;margin-top:4px}
.cert-rules{padding:14px 16px}
.cert-rules p{font-size:14px;line-height:1.95;color:var(--ink-2)}
.cert-rules b{color:var(--ink)}
/* 答题界面 */
.cert-bar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid var(--line);padding:12px 16px}
.cert-prog{font-size:14px;font-weight:700;color:var(--ink)}
.cert-timer{font-size:16px;font-weight:800;color:#246b73;background:#eef3ea;border-radius:8px;padding:3px 12px}
.cert-timer.warn{color:#dc2626;background:#fee2e2}
.cert-body{padding:16px 14px}
.cert-qtype{display:inline-block;font-size:12px;color:#1d5b54;background:#eef3ea;border-radius:10px;padding:3px 10px;font-weight:700;margin-bottom:10px}
.cert-stem{font-size:16px;font-weight:700;line-height:1.55;margin-bottom:16px}
.cert-opts{display:flex;flex-direction:column;gap:10px}
.cert-opt{display:flex;align-items:center;gap:12px;text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:13px;padding:13px;font-size:14.5px;color:var(--ink);cursor:pointer;line-height:1.4}
.cert-opt .co-k{width:26px;height:26px;flex-shrink:0;border-radius:50%;background:#f1f4f3;color:var(--ink-2);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.cert-opt.on{border-color:#246b73;background:#eef3ea}
.cert-opt.on .co-k{background:#246b73;color:#fff}
.cert-nav{display:flex;gap:10px;margin-top:18px}
.cn-btn{flex:1;border:none;background:#246b73;color:#fff;border-radius:12px;padding:13px;font-size:15px;font-weight:700;cursor:pointer}
.cn-btn.ghost{background:#fff;color:var(--ink-2);border:1px solid var(--line)}
.cn-btn.submit{background:#2f7d6b}
.cn-btn:disabled{opacity:.4}
.cert-foot{text-align:center;font-size:12.5px;color:var(--ink-3);margin-top:14px}
.cert-foot a{color:#246b73;font-weight:700;cursor:pointer}
/* 成绩 */
.cert-result{padding:30px 22px;text-align:center}
.cr-emoji{font-size:60px}
.cr-score{font-size:46px;font-weight:800;line-height:1.1;margin-top:6px}
.cr-score span{font-size:20px;color:var(--ink-3);font-weight:700}
.cr-grade{font-size:14px;color:var(--ink-2);margin-top:8px}
.cr-btns{margin-top:22px;display:flex;flex-direction:column;gap:10px}
.cert-rev{background:#fff;border-radius:12px;padding:12px 14px;margin-bottom:8px;box-shadow:var(--shadow);border-left:4px solid var(--green)}
.cert-rev.no{border-left-color:#ef4444}
.crv-q{font-size:14px;font-weight:600;line-height:1.5}
.crv-a{font-size:13px;color:var(--ink-2);margin-top:6px}
.crv-a b{color:var(--ink)}
.cert-rev.no .crv-a b{color:#dc2626}

/* ===== 认证考试 · 记录与数据分析 ===== */
.hist-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line)}
.hist-row:last-child{border-bottom:none}
.hr-score{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;flex-shrink:0;color:#fff}
.hr-score.pass{background:var(--green)}
.hr-score.fail{background:#f59e0b}
.hr-mid{flex:1;min-width:0}
.hr-date{font-size:14px;font-weight:600}
.hr-sub{font-size:12px;color:var(--ink-3);margin-top:3px}
.hr-tag{font-size:11px;font-weight:700;padding:3px 9px;border-radius:10px}
.hr-tag.pass{background:var(--green-l);color:var(--green-d)}
.hr-tag.fail{background:#fef3c7;color:#b45309}
.an-stats{display:flex;gap:9px}
.an-st{flex:1;background:#fff;border-radius:13px;padding:12px 4px;text-align:center;box-shadow:var(--shadow)}
.an-st b{display:block;font-size:21px;color:#246b73;font-weight:800}
.an-st span{font-size:10.5px;color:var(--ink-2)}
.an-trend{display:flex;align-items:flex-end;gap:7px;height:120px}
.tr-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}
.tr-bar{width:100%;max-width:26px;border-radius:5px 5px 0 0;background:var(--green);min-height:6px}
.tr-bar.fail{background:#f59e0b}
.tr-col span{font-size:10px;color:var(--ink-3)}
.an-bar{display:flex;align-items:center;gap:10px;margin:9px 0}
.anb-l{width:54px;font-size:13px;color:var(--ink-2);flex-shrink:0}
.anb-track{flex:1;height:10px;background:var(--line);border-radius:6px;overflow:hidden}
.anb-track i{display:block;height:100%;background:linear-gradient(90deg,#2f7d6b,#b08d3f);border-radius:6px}
.anb-v{width:38px;text-align:right;font-size:13px;font-weight:700;color:#246b73}

/* 细字重：次要/辅助说明文字 */
.topbar-sub,.hero p,.li-body p,.li-meta,.a-meta,.feat-card .meta,
.bmi-std,.bmi-note,.bmi-info,.bmi-ticks,.qc-sub,.faq-a,.quiz-prog,
.player-meta .a-meta,.bmi-field span,.empty,.lib-tab{font-weight:300}

.empty{text-align:center;color:var(--ink-3);padding:50px 20px;font-size:14px}
.fade{animation:fade .25s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
mark{background:#fde68a;color:inherit;border-radius:3px;padding:0 1px}

/* ===================================================
   桌面端（≥900px）：左侧竖栏 + 宽内容仪表盘
   放在文件末尾，确保覆盖前面的基础组件样式
   =================================================== */
@media (min-width:900px){
  body{padding:0;display:block;min-height:100vh;background:var(--bg)}
  .phone{
    position:fixed;top:0;left:0;right:0;bottom:0;
    width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;border-radius:0;box-shadow:none;
    display:grid;grid-template-columns:236px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);
  }
  /* —— 左侧栏头：品牌竖排 —— */
  .topbar{grid-column:1;grid-row:1;padding:18px 14px 14px;text-align:center;
    display:flex;flex-direction:column;align-items:stretch;
    border-right:1px solid #e7dcc4;border-bottom:1px solid #e7dcc4;box-shadow:none}
  .brand-head{flex-direction:column;gap:6px;margin-top:0;order:1}
  .brand-tagline{order:2}
  .brand-logo-img{height:34px}
  .brand-art svg{height:36px}
  .brand-tagline{font-size:10px;margin-top:3px}
  .brand-tagline::before,.brand-tagline::after{display:none}
  .topbar:has(.back-btn:not([hidden])) .brand-head{display:flex}
  .topbar:has(.back-btn:not([hidden])) .brand-tagline{display:block}
  /* 桌面侧栏头只保留品牌，不显示随页面变化的标题/副标题 */
  .topbar-title,.topbar-sub,
  .topbar:has(.back-btn:not([hidden])) .topbar-title,
  .topbar:has(.back-btn:not([hidden])) .topbar-sub{display:none}
  /* 登录/用户：放在侧栏顶部品牌下方，显示 姓名 + 入职时长 */
  .login-chip{position:static;order:3;align-self:center;left:auto;bottom:auto;top:auto;right:auto;
    margin:12px 6px 0;height:auto;min-height:32px;padding:7px 14px;font-size:13px;
    border-radius:12px;justify-content:center;max-width:96%}
  .login-chip .lc-sub{display:inline}
  /* 二级页也保留顶部的会员名（桌面）*/
  .topbar:has(.back-btn:not([hidden])) .login-chip{display:inline-flex}
  /* 返回键：内容区左上浮动 */
  .back-btn{position:fixed;top:18px;left:248px;right:auto;z-index:40;width:34px;height:34px}
  /* —— 左侧栏导航 —— */
  .tabbar{grid-column:1;grid-row:2;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:3px;
    border-top:none;border-right:1px solid #e7dcc4;padding:14px 10px 64px;overflow-y:auto;
    background:linear-gradient(180deg,#f7f0de,#fffdf6)}
  .tabbar .tab{flex:0 0 auto;flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;
    padding:11px 14px;border-radius:11px;font-size:14px;font-weight:600;color:var(--ink-2)}
  .tabbar .tab .ti{font-size:20px;filter:none;width:24px;text-align:center}
  .tabbar .tab span{font-size:14px}
  .tabbar .tab.active{background:var(--green-l);color:var(--green-d);font-weight:700}
  .tabbar .tab:hover{background:rgba(47,125,107,.07)}
  /* 「五个一」复位成普通导航项 */
  .tabbar .tab-center{justify-content:flex-start;padding:11px 14px}
  .tabbar .tab-center .tc-circle{width:auto;height:auto;margin:0;border-radius:0;background:none;
    box-shadow:none;border:none;color:var(--cinnabar);font-size:14px;font-weight:700;font-family:inherit;line-height:1.2}
  .tabbar .tab-center .tc-circle::before{content:"";display:inline-block;width:20px;height:20px;margin-right:12px;
    background:currentColor;
    -webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="5" width="16" height="15" rx="2.2"/><path d="M4 9.5h16M8.5 3v4M15.5 3v4"/></svg>') center/contain no-repeat;
    mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="5" width="16" height="15" rx="2.2"/><path d="M4 9.5h16M8.5 3v4M15.5 3v4"/></svg>') center/contain no-repeat}
  .tabbar .tab-desk{display:flex}   /* 桌面侧栏显示全部专区入口 */
  /* —— 内容区 —— */
  .screen{grid-column:2;grid-row:1 / span 2;background:var(--bg)}
  .pad{max-width:1080px;margin:0 auto;padding:24px 32px 40px}
  /* 仪表盘：图标一排 5 个；企业/推荐卡两列并排（不拉伸）*/
  .quick-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .feature-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .feature-entry,.today-feat{align-items:center}
  .list-cards{max-width:720px}
  .daily-quote,.resume-card,.search-entry,.hero{max-width:100%}
  /* 长文阅读区舒适限宽居中 */
  .cl-read,.article{max-width:840px;margin:0 auto;padding:28px 32px}
}

/* ===== 桌面首页：两栏 + 紧凑图标格（≥900px）===== */
@media (min-width:900px){
  .home-cols{display:grid;grid-template-columns:minmax(0,1fr) 304px;gap:24px;align-items:start;margin-top:6px}
  .home-side{position:sticky;top:16px;display:flex;flex-direction:column}
  .home-main > .section-title:first-child{margin-top:4px}
  .home-side > .section-title:first-child,.home-side > .daily-quote:first-child{margin-top:0}
  /* 紧凑图标格 */
  .home-main .quick-grid{grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:10px}
  .home-main .quick{padding:12px 6px 9px;border-radius:12px}
  .home-main .seal-grid .qi{width:34px;height:34px;font-size:18px}
  .home-main .quick span{font-size:12px}
  /* 企业专区两卡并排 */
  .home-main .feature-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  /* 侧栏卡片更紧凑 */
  .home-side .daily-quote{margin-top:0}
  .home-side .list-cards .lc-row{padding:10px 12px}
  .home-side .mb-rank{padding:8px 12px}
  .home-side .mb-rank .mr-body b{font-size:13.5px}
  /* hover 轻微抬起，更有质感 */
  .home-main .quick:hover,.feature-entry:hover,.today-feat:hover,.lc-row:hover,.mb-rank:hover{box-shadow:0 5px 16px rgba(40,60,45,.12)}
  .feature-entry,.today-feat,.lc-row,.club-card,.quick{transition:box-shadow .15s,transform .12s}
  .home-main .quick:hover{transform:translateY(-2px)}
}

/* ===== 桌面精修：更克制的阴影 / 利落边角 / 留白节奏（≥900px）===== */
@media (min-width:900px){
  .home-main .quick,.home-main .feature-entry,.home-main .today-feat,
  .home-side .card,.home-side .daily-quote,.home-main .resume-card{
    box-shadow:0 1px 3px rgba(60,70,55,.06);border:1px solid #ebe1ca;border-radius:12px}
  .home-main .resume-card .rc-m{box-shadow:none;border:1px solid #efe6d0}
  .hero{border:1px solid rgba(176,141,63,.5);box-shadow:0 6px 20px rgba(29,91,84,.15)}
  .search-entry{box-shadow:0 1px 3px rgba(60,70,55,.06);border:1px solid #ebe1ca}
  .home-cols{gap:22px}
  .section-title{margin:16px 4px 9px;font-size:14.5px}
  .home-main > .section-title:first-child{margin-top:8px}
  /* 图标卡再克制一点点 */
  .home-main .quick{padding:11px 6px 8px}
  .home-main .seal-grid .qi{width:34px;height:34px;font-size:18px}
  /* hover 仅轻微高亮边框，不再加重阴影 */
  .home-main .quick:hover{border-color:#d8c79c;box-shadow:0 3px 10px rgba(60,70,55,.10);transform:translateY(-1px)}
  .feature-entry:hover,.today-feat:hover,.lc-row:hover{border-color:#d8c79c;box-shadow:0 3px 10px rgba(60,70,55,.09)}
}

/* ===== 继续学习卡：缩小，置于右栏/底部 ===== */
.home-side > .resume-card{margin-top:0;padding:12px}
.home-side .resume-card .rc-lv-ic{width:32px;height:32px;font-size:17px}
.home-side .resume-card .rc-lv-tx b{font-size:13px}
.home-side .resume-card .rc-lv-tx span{font-size:11px}
.home-side .resume-card .rc-more{padding:4px 10px;font-size:11.5px}
.home-side .resume-card .rc-metrics{gap:6px;margin:10px 0 9px}
.home-side .resume-card .rc-m{padding:7px 3px}
.home-side .resume-card .rc-m b{font-size:16px}
.home-side .resume-card .rc-m span{font-size:10px}
.home-side .resume-card .rc-checkin{padding:9px;font-size:13px}

/* ===== 桌面紧凑：顶栏压扁 + 整体收紧，尽量一屏（≥900px）===== */
@media (min-width:900px){
  /* 顶栏（侧栏头）压扁 */
  .topbar{padding:10px 12px 8px}
  .brand-logo-img{height:28px}
  .brand-art svg{height:30px}
  .brand-tagline{font-size:9.5px;margin-top:2px;letter-spacing:1.5px}
  /* 侧栏导航更密 */
  .tabbar{padding:8px 9px 56px;gap:2px}
  .tabbar .tab{padding:8px 12px}
  .tabbar .tab .ti{font-size:18px}
  .tabbar .tab-center .tc-circle::before{font-size:18px}
  /* 内容区留白收紧 */
  .pad{padding:12px 28px 28px}
  .home-cols{margin-top:2px;gap:18px}
  .section-title{margin:11px 4px 6px;font-size:14px}
  .home-main > .section-title:first-child{margin-top:2px}
  /* 横向卡片更扁 */
  .home-main .feature-row{gap:9px}
  .feature-entry,.today-feat{padding:9px 13px}
  .fe-ic{width:38px;height:38px;font-size:20px}
  .fe-tx b{font-size:14px}
  .daily-box{padding:10px 13px}
  .db-row{padding:7px 0}
  /* 图标格更密更小 */
  .home-main .quick-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:9px}
  .home-main .quick{padding:9px 5px 7px}
  .home-main .seal-grid .qi{width:32px;height:32px;font-size:17px}
  .home-main .quick span{font-size:11.5px}
  /* 右栏列表更紧 */
  .home-side .list-cards .lc-row{padding:8px 12px}
  .home-side > .resume-card{padding:11px}
}

/* ===== 桌面：顶部三卡并一行 + 知识科普/学习工具左右并排（≥900px）===== */
@media (min-width:900px){
  .home-main .feature-row.trio{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;align-items:stretch}
  .home-main .feature-row.trio .feature-entry,
  .home-main .feature-row.trio .today-feat{margin:0;min-width:0}
  /* 今日推荐卡：内容随卡宽收缩，文字正常换行不竖排 */
  .home-main .feature-row.trio .today-feat .tf-tx{min-width:0}
  .home-main .feature-row.trio .today-feat .tf-tx b{word-break:break-word}
  /* 两个板块左右并排 */
  .dual-sec{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
  .dual-sec .dual-col > .section-title{margin-top:12px}
  .dual-sec .quick-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}
}

/* ===== 二级页统一国风骨架：页头 + 内容居中 ===== */
.sec-page{padding:0 12px}            /* 移动端统一左右留白，避免贴边 */
.sec-page.read{padding:0}            /* 阅读类正文整幅白纸，不加左右留白 */
/* 紧凑国风页头 */
.page-head{margin:9px 0 8px}         /* 左右留白由 sec-page 提供 */
.page-head .ph-row{display:flex;align-items:center;gap:10px}
.page-head .ph-seal{flex-shrink:0;width:33px;height:33px;border-radius:8px;background:var(--cinnabar);
  color:#fdf3e7;font-family:'Noto Sans SC Variable','Noto Sans SC',sans-serif;font-weight:800;font-size:18px;line-height:1;
  display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(178,58,46,.3)}
.page-head .ph-tx{flex:1;min-width:0}
.page-head .ph-title{font-size:17px;font-weight:800;color:var(--green-d);letter-spacing:1px;
  font-family:'Noto Sans SC Variable','Noto Sans SC',sans-serif;line-height:1.25;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.page-head .ph-sub{font-size:11.5px;color:var(--ink-3);margin-top:2px;letter-spacing:.5px}
/* 泥金双线 + 中心菱形 */
.page-head .ph-rule{display:flex;align-items:center;gap:9px;margin-top:7px}
.page-head .ph-rule::before,.page-head .ph-rule::after{content:"";flex:1;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-l),var(--gold) 65%,var(--gold-l),transparent)}
.page-head .ph-rule span{color:var(--gold);font-size:9px;opacity:.9}
/* 列表类整体收紧 */
.sec-page.list .searchbar{padding:9px 12px;border-bottom:none}
.sec-page.list .searchbar input{padding:9px 12px;font-size:13.5px}
.sec-page .filters{padding:9px 12px 6px;gap:7px;border-bottom:none;background:none}
.sec-page .chip{padding:5px 12px;font-size:12.5px}
.sec-page .list-item{padding:9px 12px;gap:10px}
.sec-page .li-icon{width:30px;height:30px;font-size:15px;border-radius:9px}
.sec-page .li-body h4{font-size:14px;margin-bottom:2px}
.sec-page .li-body p{font-size:12px}
.sec-page .li-meta{margin-top:4px}
/* 内层 .pad 由 sec-page 统一控制留白，避免双重内边距 */
.sec-page .pad{padding:0}
/* 阅读类：移动端正文沿用整幅白纸；页头给出边距 */
.sec-page.read .page-head{margin-left:14px;margin-right:14px}

@media (min-width:900px){
  /* 列表/卡片类二级页：加宽到 1200，卡片自适应多列铺满 */
  .sec-page{max-width:1200px;margin:0 auto;padding:12px 26px 40px}
  /* 阅读单篇文章：保持舒适居中"纸张"宽度（护眼） */
  .sec-page.read{max-width:820px;padding:12px 0 40px}
  .page-head{margin:2px 0 10px}
  .sec-page.read .page-head{margin:2px 6px 10px}
  .page-head .ph-title{font-size:18px}
  .sec-page .pad{max-width:none;margin:0;padding:0}
  /* 阅读类：白纸文稿卡片化，宽度交给 sec-page */
  .sec-page.read .article,.sec-page.read .cl-read{max-width:none;margin:0;border:1px solid #efe6d0;
    border-radius:14px;box-shadow:var(--shadow);padding:24px 30px 34px;background:#fffdf6}
  /* 列表类：搜索/筛选/列表统一圆角卡 */
  .sec-page.list .searchbar{position:static;border:1px solid #efe6d0;border-radius:11px;margin-bottom:8px}
  .sec-page.list .filters{padding:0 0 10px}
  /* 卡片网格：按屏宽自动 2~3 列铺满 */
  .sec-page .art-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px}
  /* 表单/发布页不跟着拉宽，居中舒适宽度 */
  .sec-page .pub-form,.sec-page .auth2{max-width:640px;margin:0 auto}
}

/* ===== 讲义/资料 等列表：两列卡片（精致版）===== */
.art-grid{display:grid;grid-template-columns:1fr;gap:8px}
.art-card{background:#fffdf6;border:1px solid #efe6d0;border-radius:11px;padding:9px 12px 8px;cursor:pointer;
  box-shadow:0 1px 3px rgba(60,70,55,.05);transition:box-shadow .15s,transform .12s,border-color .15s;
  display:flex;flex-direction:column}
.art-card:active{background:#f8f2e3}
.art-card .ac-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.art-card .li-icon{width:27px;height:27px;font-size:14px;border-radius:8px}
.art-card .pill{font-size:10.5px;padding:1px 8px}
.art-card h4{font-size:13.5px;font-weight:700;line-height:1.35;color:var(--ink);margin:0 0 3px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.art-card p{font-size:11.5px;color:var(--ink-3);line-height:1.55;margin:0 0 7px;flex:1;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:34px}
.art-card .ac-foot{font-size:11px;color:var(--ink-3);border-top:1px dashed #ece2cc;padding-top:6px;font-weight:300}
.art-card mark{background:#fbe7c0;color:var(--gold-d);padding:0 2px;border-radius:3px}

@media (min-width:900px){
  .art-grid{grid-template-columns:1fr 1fr;gap:10px}
  .art-card:hover{border-color:#d8c79c;box-shadow:0 5px 14px rgba(60,70,55,.11);transform:translateY(-2px)}
}

/* ===== 二级页：国风小横幅 + 卡片化的视频/PDF ===== */
.sec-banner{background:linear-gradient(135deg,#1d5b54,#2f7d6b 60%,#246b73);color:#fdf3e7;
  border:1px solid rgba(176,141,63,.45);border-radius:13px;padding:12px 15px;margin-bottom:10px}
.sec-banner h3{font-size:15px;font-weight:800;margin-bottom:4px}
.sec-banner p{font-size:12px;line-height:1.55;color:#e8f1ec;font-weight:300}
/* art-card 作为链接时去掉下划线/继承色 */
a.art-card{color:inherit;text-decoration:none}
/* 视频卡：播放角标 */
.art-card .v-badge{width:27px;height:27px;border-radius:8px;background:var(--green-l);color:var(--green-d);
  display:flex;align-items:center;justify-content:center;font-size:12px}
/* PDF 卡：红印角标 */
.art-card .pdf-ico{width:auto;height:22px;padding:0 9px;border-radius:6px;background:#fbe7e4;color:var(--cinnabar);
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;letter-spacing:.5px}
/* lib 选项卡居中收紧 */
.sec-page .lib-tabs{margin-bottom:10px}

/* ===== 桌面：所有二级页列表统一两列卡片（通用规则）===== */
@media (min-width:900px){
  /* 含 ≥2 项的成列条目卡，自动排成两列卡片（≥2 项才分栏，避免落单半幅）*/
  .sec-page .card:has(> .list-item:nth-child(2)),
  .sec-page .card:has(> .hist-row:nth-child(2)),
  .sec-page .card:has(> .topic-row:nth-child(2)),
  .sec-page .card:has(> .quiz-row:nth-child(2)),
  .sec-page .card:has(> .gw-reward:nth-child(2)),
  .sec-page .card:has(> .mb-rank:nth-child(2)),
  .sec-page .card:has(> .gw-step:nth-child(2)){
    display:grid;grid-template-columns:1fr 1fr;gap:10px;
    background:none;border:none;box-shadow:none;overflow:visible;padding:0}
  /* 网格内每个条目统一卡片化 */
  .sec-page .card:has(> .list-item:nth-child(2)) > .list-item,
  .sec-page .card:has(> .hist-row:nth-child(2)) > .hist-row,
  .sec-page .card:has(> .topic-row:nth-child(2)) > .topic-row,
  .sec-page .card:has(> .quiz-row:nth-child(2)) > .quiz-row,
  .sec-page .card:has(> .gw-reward:nth-child(2)) > .gw-reward,
  .sec-page .card:has(> .mb-rank:nth-child(2)) > .mb-rank,
  .sec-page .card:has(> .gw-step:nth-child(2)) > .gw-step{
    border:1px solid #efe6d0;border-radius:11px;background:#fffdf6;
    box-shadow:0 1px 3px rgba(60,70,55,.05);transition:box-shadow .15s,transform .12s,border-color .15s}
  .sec-page .card:has(> .list-item:nth-child(2)) > .list-item:hover,
  .sec-page .card:has(> .hist-row:nth-child(2)) > .hist-row:hover,
  .sec-page .card:has(> .topic-row:nth-child(2)) > .topic-row:hover,
  .sec-page .card:has(> .quiz-row:nth-child(2)) > .quiz-row:hover,
  .sec-page .card:has(> .gw-reward:nth-child(2)) > .gw-reward:hover,
  .sec-page .card:has(> .mb-rank:nth-child(2)) > .mb-rank:hover,
  .sec-page .card:has(> .gw-step:nth-child(2)) > .gw-step:hover{
    border-color:#d8c79c;box-shadow:0 4px 12px rgba(60,70,55,.1);transform:translateY(-2px)}
  /* 文化互动卡：两列 */
  .sec-page .culture-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  /* 排名"我"高亮在两列下保留 */
  .sec-page .card:has(> .mb-rank:nth-child(2)) > .mb-rank.me{background:#eef7f1;border-color:#bcdccd}
  /* 多个分类的列表各自两列后，标题占满整行 */
  .sec-page .section-title{grid-column:1/-1}
  /* 认证考试入口横幅在容器内对齐 */
  .sec-page .cert-entry{margin-left:0;margin-right:0}
}

/* ===== 我是会员：考试情况 / 五个一打卡 两列并列（桌面）===== */
.mb-col > .section-title{margin-top:0}
@media (min-width:900px){
  .mb-duo{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
  .mb-duo .mb-card{height:auto}
}

/* ===== 一行式卡片：图标 + 名称 + 末尾小箭头（资料库 / 视频）===== */
.art-card.art-row{flex-direction:row;align-items:center;gap:11px;padding:11px 13px}
.art-card.art-row h4{flex:1;min-width:0;margin:0;font-size:14px;line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.art-card.art-row .art-go{flex-shrink:0;color:var(--ink-3);font-size:18px;line-height:1}
.art-card.art-row .pdf-ico,.art-card.art-row .v-badge{flex-shrink:0}
.art-card.art-row .v-badge{width:30px;height:30px;font-size:13px;font-weight:800}

/* ===== 详情页上一条/下一条翻页 ===== */
.pn-nav{display:flex;gap:10px;margin-top:20px}
.pn-btn{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;text-align:left;
  border:1px solid #e6dcc6;background:#fffdf6;border-radius:11px;padding:10px 13px;cursor:pointer;
  transition:border-color .15s,box-shadow .15s}
.pn-btn.next{text-align:right;align-items:flex-end}
.pn-btn span{font-size:12px;color:var(--green-d);font-weight:700}
.pn-btn b{font-size:13px;color:var(--ink);font-weight:600;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pn-btn:active{background:#f5efe0}
.pn-btn.ghost{visibility:hidden;cursor:default}
@media (min-width:900px){
  .pn-btn:hover{border-color:#d8c79c;box-shadow:0 3px 10px rgba(60,70,55,.09)}
}

/* 详情翻页中间「返回目录」按钮 */
.pn-mid{flex-shrink:0;align-self:stretch;display:flex;align-items:center;justify-content:center;gap:5px;
  border:1px solid #cfe0d6;background:var(--green-l);color:var(--green-d);border-radius:11px;
  padding:0 16px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;font-family:inherit}
.pn-mid:active{background:#cfe2d8}
@media (min-width:900px){.pn-mid:hover{background:#d3e6dc}}

/* 注册表单：下拉选择 + 两列年份月份 */
.a2-field select{flex:1;border:none;background:none;padding:13px 0;font-size:15px;outline:none;color:var(--ink);
  font-family:inherit;-webkit-appearance:none;appearance:none;cursor:pointer}
.a2-field select:invalid,.a2-field select option[value=""]{color:var(--ink-3)}
.a2-row2{display:flex;gap:10px}
.a2-row2 .a2-field{flex:1;margin-bottom:12px}

/* ============================================================
   视觉标准化重构（单墨绿#246358 + 灰 + 柔金#D4B87A · 扁平8px）
   追加末尾，统一覆盖前面的暖色国风样式
   ============================================================ */
body{font-family:'HarmonyOS Sans','Noto Sans SC Variable','Noto Sans SC',-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}
.screen{background:var(--bg)}
.topbar{background:#FAF9F6;border-bottom:1px solid var(--line);box-shadow:none}

/* 圆角统一 8px */
.card,.daily-box,.feature-entry,.today-feat,.quick,.search-entry,.art-card,.mb-card,.resume-card,
.list-cards,.culture-card,.gw-bd,.cert-entry,.club-card,.ai-banner,.sec-banner,.pn-btn,.pn-mid,.hero,
.cl-hero,.comp-hero,.culture-hero,.club-hero,.quiz-cta,.fe-ic,.li-icon,.qi,.dc-seal,.ph-seal,
.pen-table,.comp-intro,.comp-notes,.big-btn,.mb-btn,.rw-btn,.auth2-btn,.a2-field{border-radius:8px}

/* 扁平：白底细边、去阴影 */
.card,.feature-entry,.today-feat,.quick,.search-entry,.art-card,.mb-card,.resume-card,
.list-cards,.culture-card,.gw-bd{background:#fff;border:1px solid var(--line);box-shadow:none}

/* Banner / Hero：纯墨绿扁平 */
.hero,.cl-hero,.comp-hero,.culture-hero,.club-hero,.ai-banner,.sec-banner,.quiz-cta,.gi-hero{
  background:var(--green)!important;box-shadow:none!important;border:none!important;color:#fff}
.hero{padding:18px 20px}
.hero h2{font-size:22px;font-weight:700;letter-spacing:1px}
.hero p{font-size:12px;opacity:.9;font-weight:300}
.hero-stats{border-left:1px solid rgba(255,255,255,.25)}
.hs b{color:var(--gold);font-size:16px;font-weight:700}
.hs span{font-size:12px;color:rgba(255,255,255,.85)}

/* 搜索框 */
.search-entry{background:#fff;border:1px solid var(--line);box-shadow:none}
.search-entry .se-ic{color:var(--green)}

/* 每日学习双卡：浅灰底 + 左侧标识条（文化=绿 / 业务=金）*/
.daily-box{background:#F5F5F3;border:1px solid var(--line);border-left:3px solid var(--green);padding:20px;box-shadow:none}
.daily-box.news{border-left:3px solid var(--gold)}
.db-q,.dc-quote,.dd-quote,.dq-text,.db-t{color:var(--ink-2)}

/* 图标圆底：浅墨绿 */
.fe-ic{background:var(--green-l)!important}
.li-icon,.hs-ic{background:var(--green-l)}

/* 排行榜：浅墨绿底，第一名/积分柔金，无亮黄 */
.mb-rank.me{background:var(--green-l)}
.mr-pts,.gw-stat b,.mb-i b,.rc-m b{color:var(--gold)}

/* 链接/箭头：主绿 */
.fe-go,.lc-go,.chev,.art-go,.db-more,.cc-soon{color:var(--green)}

/* 板块标题：中性深灰 */
.section-title{color:var(--ink)}

/* 合规/权限敏感：浅橙底小标签 */
.pill.warn{background:var(--warn);color:#8a6d2b}

/* 桌面侧栏：浅米底 + 激活浅墨绿 */
@media (min-width:900px){
  .tabbar{background:#FAF9F6}
  .tabbar .tab{color:#555}
  .tabbar .tab.active{background:var(--green-l);color:var(--green-d);font-weight:700}
  .tabbar .tab:hover{background:#F0EDE6}
  .topbar{background:#FAF9F6}
  .login-chip{background:#F0EDE8;color:var(--green-d)}
  .login-chip.on{background:var(--green);color:#fff}
}

/* ===== 首页 hero 压扁：艺术字标题 + 副标题并列 + 数据横排 ===== */
.hero{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 16px}
.hero-main{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:13px}
.hero-main h2{margin:0;flex-shrink:0;white-space:nowrap;line-height:1.2;
  font-family:'STKaiti','Kaiti SC','KaiTi','PingFang SC',serif;
  font-size:23px;font-weight:800;letter-spacing:3px;
  background:linear-gradient(180deg,#fef6ea,#f2dcab 55%,#e7c47a);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#f0debf;
  text-shadow:0 1px 0 rgba(0,0,0,.08)}
.hero-main p{margin:0;font-size:11.5px;line-height:1.55;opacity:.95;
  border-left:1px solid rgba(233,218,177,.45);padding-left:13px}
.hero-stats{flex:0 0 auto;flex-direction:row;align-items:center;gap:0;
  border-left:none;border-top:none;padding-left:0;margin-left:auto}
.hero-stats .hs{flex-direction:row;align-items:baseline;justify-content:center;gap:5px;padding:2px 14px;min-width:0}
.hero-stats .hs+.hs{border-top:none;border-left:1px dashed rgba(255,255,255,.28)}
@media (max-width:560px){
  .hero-main h2{font-size:21px;letter-spacing:2px}
  .hero-stats{flex:1 1 100%;margin-left:0;justify-content:space-around;
    border-top:1px dashed rgba(255,255,255,.22);padding-top:7px;margin-top:2px}
}

/* ===== 管理员发布：公告条 / 公告卡 / 发布表单 / 按钮 ===== */
.ann-bar{display:flex;align-items:flex-start;gap:9px;background:#fffaf0;border:1px solid var(--gold-l);
  border-radius:12px;padding:12px 14px;margin-bottom:10px}
.ann-bar .ann-ic{flex-shrink:0;margin-top:1px}
.ann-bar .ann-ic .lic{width:18px;height:18px}
.ann-bar .ann-tx{flex:1;min-width:0;font-size:13.5px;line-height:1.65;color:var(--ink-2);cursor:pointer;
  white-space:normal;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.ann-bar .ann-more{flex-shrink:0;font-size:12px;color:var(--green);cursor:pointer;margin-top:1px}
.ann-bar .ann-add{flex-shrink:0;width:24px;height:24px;border:none;border-radius:7px;background:var(--green-l);
  color:var(--green-d);font-size:16px;line-height:1;cursor:pointer}
.ann-pin{display:inline-block;background:var(--cinnabar);color:#fdf3e7;font-size:10px;
  padding:1px 6px;border-radius:6px;margin-right:5px;font-weight:700}
.ann-card{background:#fffdf6;border:1px solid #efe6d0;border-radius:12px;padding:12px 14px;margin-bottom:9px;box-shadow:0 1px 3px rgba(60,70,55,.05)}
.ann-card .ann-ch{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.ann-card .ann-ch b{flex:1;min-width:0;font-size:14.5px;color:var(--ink)}
.ann-card .ann-del{flex-shrink:0;border:1px solid #e6cfcb;background:#fbeceb;color:var(--cinnabar);
  font-size:11.5px;padding:3px 9px;border-radius:7px;cursor:pointer}
.ann-card p{font-size:13px;color:var(--ink-2);line-height:1.65;margin:4px 0 6px}
.ann-card .ann-meta{font-size:11px;color:var(--ink-3)}
/* 发布表单 */
.pub-form{display:flex;flex-direction:column;gap:6px}
.pub-form label{font-size:12.5px;color:var(--green-d);font-weight:700;margin-top:8px}
.pub-form input,.pub-form select,.pub-form textarea{width:100%;box-sizing:border-box;
  border:1px solid #e6dcc6;border-radius:10px;padding:10px 12px;font-size:14px;background:#fff;outline:none;font-family:inherit}
.pub-form textarea{line-height:1.7;resize:vertical}
.pub-form input:focus,.pub-form select:focus,.pub-form textarea:focus{border-color:var(--green)}
.pub-form .pub-ck{flex-direction:row;display:flex;align-items:center;gap:7px;font-weight:600;color:var(--ink-2);margin-top:10px}
.pub-form .pub-ck input{width:auto}
.pub-form .big-btn{margin-top:14px}
.pub-form .pub-msg{font-size:13px;color:var(--green-d);min-height:18px;text-align:center;margin-top:6px}
/* 新增按钮（讲义/资料页顶部）*/
.kb-add{display:block;width:100%;box-sizing:border-box;border:1px dashed var(--green);background:var(--green-l);
  color:var(--green-d);border-radius:11px;padding:10px;font-size:14px;font-weight:700;cursor:pointer;margin-bottom:10px}
.kb-add:active{opacity:.85}
/* 资料卡上的删除小叉 */
.art-card .kb-del-doc{flex-shrink:0;width:22px;height:22px;border:none;border-radius:6px;background:#fbeceb;
  color:var(--cinnabar);font-size:12px;line-height:1;cursor:pointer;margin-right:4px}

/* ===== 版块内「＋新增」小按钮 / 社团删除 ===== */
.kb-add-mini{margin-left:auto;flex-shrink:0;border:1px solid var(--green);background:var(--green-l);
  color:var(--green-d);font-size:12px;padding:3px 10px;border-radius:8px;cursor:pointer;font-weight:700}
.kb-add-mini:active{opacity:.85}
.club-card{position:relative}
.club-card .club-del{flex-shrink:0;align-self:flex-start;width:22px;height:22px;border:none;border-radius:6px;
  background:#fbeceb;color:var(--cinnabar);font-size:12px;line-height:1;cursor:pointer;margin-left:2px}

/* ===== 企业 logo 放大（覆盖之前的紧凑尺寸）===== */
.brand-logo-img{height:46px}
@media (min-width:900px){ .brand-logo-img{height:50px} }

/* ===== hero 网页版：主标题与副标题并列一排（手机版仍竖排）===== */
@media (min-width:900px){
  .hero-main{flex-direction:row;text-align:left}
}

/* ===== 右栏：网页版隐藏「会员中心」入口（导航已有「我是会员」）===== */
@media (min-width:900px){ #growthQuick{display:none} }
.home-side > .resume-card{margin-top:6px}
/* 公告里的社团活动条目 */
.ann-actag{display:inline-block;flex-shrink:0;background:var(--green-l);color:var(--green-d);font-size:10px;padding:1px 7px;border-radius:6px;font-weight:700}
.ann-card.act-card{cursor:pointer}
.ann-card .ann-go{margin-left:auto;flex-shrink:0;color:var(--ink-3);font-size:18px}

/* ===== 排行榜：标题「全部」链接 + 完整页列表 ===== */
.rank-more{margin-left:auto;flex-shrink:0;font-size:12px;color:var(--green);cursor:pointer;font-weight:400}
.rk-list{background:var(--card);border:1px solid #efe6d0;border-radius:13px;overflow:hidden;box-shadow:var(--shadow)}

/* ===== 打卡帖：作者/超管 编辑·删除 ===== */
.ck-head{display:flex;align-items:center;gap:10px}
.ck-ops{margin-left:auto;display:flex;gap:6px;flex-shrink:0}
.ck-op{border:1px solid var(--line);background:#fff;color:var(--ink-2);font-size:11.5px;padding:3px 10px;border-radius:7px;cursor:pointer}
.ck-op.del{color:var(--cinnabar);border-color:#e6cfcb;background:#fbeceb}

/* ===== 打卡：小红花按钮 + 排行榜小红花 ===== */
.ck-act.flower.on{color:var(--cinnabar)}
.ck-rank{display:flex;align-items:center;gap:10px}
.ck-rank .ckr-stat{margin-left:auto;text-align:right;flex-shrink:0;line-height:1.3}
.ck-rank .ckr-days{display:block;color:var(--green-d)}
.ck-rank .ckr-flw{font-size:11.5px;color:var(--cinnabar)}

/* ===== 考勤打卡 ===== */
.kq-clock{text-align:center;margin:8px 0 16px}
.kq-clock b{display:block;font-size:40px;font-weight:800;color:var(--green-d);letter-spacing:2px;font-variant-numeric:tabular-nums}
.kq-clock span{font-size:12.5px;color:var(--ink-3)}
.kq-btn{display:block;width:160px;height:160px;margin:0 auto;border:none;border-radius:50%;
  background:radial-gradient(circle at 50% 38%,#2f7d6b,#1d5b54);color:#fff;font-size:22px;font-weight:800;
  letter-spacing:2px;cursor:pointer;box-shadow:0 10px 26px rgba(29,91,84,.35)}
.kq-btn.off{background:radial-gradient(circle at 50% 38%,#b08d3f,#8a6d2b);box-shadow:0 10px 26px rgba(138,109,43,.3)}
.kq-btn:active{transform:scale(.96)}
.kq-btn:disabled{opacity:.6}
.kq-msg{text-align:center;font-size:13px;color:var(--green-d);min-height:20px;margin:12px 0}
.kq-confirm{background:#fffdf6;border:1px solid #efe6d0;border-radius:13px;padding:14px;margin-top:6px;box-shadow:var(--shadow)}
.kq-cf-loc{font-size:13.5px;color:var(--ink-2);margin-bottom:10px}
.kq-cf-photo{display:inline-block;border:1px dashed var(--green);background:var(--green-l);color:var(--green-d);
  border-radius:10px;padding:9px 14px;font-size:13px;font-weight:700;cursor:pointer}
.kq-timeline{margin-top:20px;display:flex;flex-direction:column;gap:12px}
.kq-rec{display:flex;align-items:flex-start;gap:12px;background:#fffdf6;border:1px solid #efe6d0;border-radius:12px;padding:12px 14px}
.kq-rec.none{opacity:.7}
.kq-rl{flex:1;min-width:0}
.kq-rl b{font-size:15px;color:var(--ink)}
.kq-ok{display:inline-block;margin-left:8px;font-size:11px;color:var(--green-d);background:var(--green-l);padding:1px 8px;border-radius:6px}
.kq-late{display:inline-block;margin-left:8px;font-size:11px;color:var(--cinnabar);background:#fbeceb;padding:1px 8px;border-radius:6px}
.kq-miss{color:var(--ink-3);font-size:12px}
.kq-addr{font-size:12px;color:var(--ink-3);margin-top:5px}
.kq-photo{width:90px;height:90px;object-fit:cover;border-radius:10px;flex-shrink:0;margin-top:6px}
.kq-team-bar{display:flex;align-items:center;gap:10px}
.kq-team-bar input[type=date]{border:1px solid #e6dcc6;border-radius:9px;padding:7px 10px;font-size:13.5px;background:#fff}
.kq-tt{font-size:11px;color:var(--ink-3);font-weight:400}

/* ===== 认证考试 · 错题解析（逐选项标注）===== */
.cert-rev .crv-type{color:var(--gold-d);font-size:12px;font-weight:600}
.rev-opts{margin-top:8px;display:flex;flex-direction:column;gap:6px}
.rev-opt{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:13.5px;line-height:1.5}
.rev-opt .ro-k{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:#f1f4f3;color:var(--ink-2);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.rev-opt .ro-t{flex:1;min-width:0;color:var(--ink)}
.rev-opt.ans{background:#eaf6ef;border-color:#bcdccd}
.rev-opt.ans .ro-k{background:var(--green);color:#fff}
.rev-opt.wrong{background:#fbeceb;border-color:#e6cfcb}
.rev-opt.wrong .ro-k{background:var(--cinnabar);color:#fff}
.opt-tag{flex-shrink:0;font-size:11px;font-weight:700;align-self:center}
.opt-tag.ok{color:var(--green-d)}
.opt-tag.no{color:var(--cinnabar)}
.rev-exp{margin-top:8px;background:var(--green-l);border-radius:8px;padding:8px 10px;font-size:12.5px;color:var(--green-d);line-height:1.6}

/* ===== 超级管理员后台入口（仅桌面侧栏 + 仅超管可见）===== */
#adminTab{display:none}
@media (min-width:900px){
  #adminTab.show{display:flex;margin-top:8px;border-top:1px solid #e7dcc4;padding-top:13px;color:var(--cinnabar)}
  #adminTab.show .ti{color:var(--cinnabar)}
  #adminTab.show:hover{background:#fbeceb}
}

/* ===== 浏览量小标 ===== */
.vid-views{flex-shrink:0;font-size:11.5px;color:var(--ink-3);margin-left:auto;padding-right:6px}
.art-card.art-row .vid-views{margin-left:auto}

/* ===== 月度统一考试 ===== */
.ex-types{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.ex-tr{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--ink-2)}
.ex-tr span{width:34px;flex-shrink:0;font-weight:700;color:var(--green-d)}
.ex-tr i{font-style:normal;color:var(--ink-3);font-size:12px}
.ex-tr input{width:56px;border:1px solid #e6dcc6;border-radius:8px;padding:6px 8px;font-size:14px;text-align:center}
.ex-row{position:relative}
.ex-row .ex-score{flex-shrink:0;color:var(--green-d);font-weight:800;font-size:15px}
.ex-row .ex-state{flex-shrink:0;color:var(--ink-3);font-size:12px}
.ex-row .ex-del{flex-shrink:0;width:22px;height:22px;border:none;border-radius:6px;background:#fbeceb;color:var(--cinnabar);font-size:12px;cursor:pointer;margin-left:6px}

/* ===== 登录闸门：居中卡片，可上下滚动（长表单不被截断）===== */
.auth2{max-width:430px;margin:0 auto}
body.gate .topbar,body.gate .tabbar{display:none}
@media (min-width:900px){
  /* 桌面：整页正常文档流滚动，卡片居中，不用 flex 以免长表单滚不动 */
  /* 关键：复位 .phone 的 position:fixed / overflow:hidden（顶部白边修复时设的），否则闸门页被钉死、滚不动 */
  body.gate .phone{display:block;position:static;height:auto;min-height:100vh;overflow:visible}
  body.gate .screen{display:block;min-height:100vh;overflow:visible;padding:5vh 0 60px}
  body.gate .screen > .fade{width:430px;max-width:94vw;margin:0 auto}
}
@media (max-width:899px){
  /* 手机：闸门页改用整页文档流滚动，长表单（注册）不被截断、能滑到底 */
  body.gate{display:block;height:auto;min-height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}
  body.gate .phone{position:static;height:auto;min-height:100dvh;max-height:none;overflow:visible;display:block}
  body.gate .screen{flex:none;height:auto;overflow:visible;display:block}
  body.gate .screen > .fade{zoom:1}     /* 闸门页不缩放，避免滚动高度算错 */
}

/* ===== 登录卡美化：品牌艺术字 + 标语 + 泥金分隔 ===== */
.auth2-hero{padding:26px 20px 30px}
.auth2-logo{padding:10px 18px;border-radius:16px}
.auth2-logo img{height:40px}
.auth2-brand{margin-top:16px;font-size:24px;font-weight:800;letter-spacing:3px;line-height:1.2;
  font-family:'STKaiti','Kaiti SC','KaiTi','PingFang SC',serif;
  background:linear-gradient(180deg,#fef6ea,#f2dcab 58%,#e7c47a);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#f0debf}
.auth2-tag{margin-top:7px;font-size:11.5px;letter-spacing:2px;color:rgba(255,255,255,.82)}
.auth2-rule{display:flex;align-items:center;gap:9px;margin:11px 22% 0}
.auth2-rule::before,.auth2-rule::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(233,218,177,.6),transparent)}
.auth2-rule span{color:#e9dab1;font-size:10px}
.auth2-sub{margin-top:10px;font-size:13.5px;font-weight:600;color:rgba(255,255,255,.96)}

/* ===== 退出登录入口（桌面侧栏底部）===== */
@media (min-width:900px){
  #logoutTab{color:var(--ink-3)}
  #logoutTab .ti{filter:grayscale(.2)}
  #logoutTab:hover{background:#fbeceb;color:var(--cinnabar)}
  #logoutTab:hover .ti{filter:none}
}

/* 文章最近修改记录 */
.edit-hist{margin-top:12px;background:#fffaf0;border:1px solid var(--gold-l);border-radius:9px;padding:8px 11px;font-size:11.5px;color:var(--ink-3);line-height:1.6}

/* ===== 会员管理入口（桌面侧栏，仅会员管理权限可见）+ 待审核角标 ===== */
#memberTab{display:none}
@media (min-width:900px){ #memberTab.show{display:flex} }
.member-badge{display:none;margin-left:auto;background:var(--cinnabar);color:#fff;font-size:10px;min-width:17px;height:17px;border-radius:9px;align-items:center;justify-content:center;padding:0 5px;font-weight:700}
/* ===== 会员管理页：筛选 + 卡片 ===== */
.ma-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.ma-f{border:1px solid #e6dcc6;background:#fff;color:var(--ink-2);font-size:13px;padding:6px 13px;border-radius:18px;cursor:pointer}
.ma-f.on{background:var(--green);color:#fff;border-color:var(--green)}
.ma-f.hot{border-color:var(--cinnabar);color:var(--cinnabar)}
.ma-f.on.hot{background:var(--cinnabar);color:#fff}
.ma-list{display:flex;flex-direction:column;gap:10px}
.ma-card{background:#fffdf6;border:1px solid #efe6d0;border-radius:13px;padding:12px 14px;box-shadow:0 1px 3px rgba(60,70,55,.05)}
.ma-card.pend{border-color:#e9c97f;background:#fffaf0}
.ma-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ma-h b{font-size:15.5px;color:var(--ink)}
.ma-tag{font-size:11px;padding:1px 8px;border-radius:6px;font-weight:700}
.ma-tag.pend{background:#fbe7c0;color:var(--gold-d)}
.ma-tag.ok{background:var(--green-l);color:var(--green-d)}
.ma-tag.off{background:#fbeceb;color:var(--cinnabar)}
.ma-role{font-size:11px;color:var(--gold-d);background:#f6efdd;padding:1px 8px;border-radius:6px}
.ma-sub{font-size:12.5px;color:var(--ink-2);margin-top:5px}
.ma-sub2{font-size:11.5px;color:var(--ink-3);margin-top:3px}
.ma-ops{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.ma-op{border:1px solid #e6dcc6;background:#fff;color:var(--ink-2);font-size:12.5px;padding:5px 12px;border-radius:8px;cursor:pointer}
.ma-op.ok{background:var(--green-l);color:var(--green-d);border-color:#bcdccd;font-weight:700}
.ma-op.off{background:#fbeceb;color:var(--cinnabar);border-color:#e6cfcb}
.ma-op.del{color:var(--cinnabar)}

/* ===== 会员管理：筛选 + 可排序表格 ===== */
.ma-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.ma-search{flex:1;min-width:150px;border:1px solid #e6dcc6;border-radius:9px;padding:8px 12px;font-size:13.5px;background:#fff;outline:none}
.ma-filters select{border:1px solid #e6dcc6;border-radius:9px;padding:8px 10px;font-size:13px;background:#fff}
.ma-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.ma-count{margin-left:auto;font-size:12px;color:var(--ink-3)}
.ma-tablewrap{overflow-x:auto;border:1px solid #efe6d0;border-radius:12px;background:var(--card)}
.ma-table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}
.ma-table th{background:#f6efdd;color:var(--green-d);font-weight:700;padding:9px 10px;text-align:left;border-bottom:1px solid #e7dcc4;position:sticky;top:0}
.ma-table th.msort{cursor:pointer;user-select:none}
.ma-table th.msort.on{color:var(--cinnabar)}
.ma-table td{padding:9px 10px;border-bottom:1px solid #f0ead9;color:var(--ink-2)}
.ma-table td b{color:var(--ink)}
.ma-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.ma-table tr.pend td{background:#fffaf0}
.ma-table tbody tr:hover td{background:#f8f5ec}
.ma-staff{color:var(--ink-3)}
.ma-opcell{white-space:nowrap}
.ma-opcell .ma-op{padding:4px 9px;margin:0 3px 0 0;font-size:12px}

/* ===== 首页会员卡：身份金色标签（可换行两排）===== */
.rc-ids{display:flex;flex-wrap:wrap;gap:5px;margin:5px 0 4px}
.rc-id{font-size:10.5px;font-weight:700;color:#8a6d2b;background:linear-gradient(135deg,#f7ecca,#e9d29a);
  border:1px solid #e0c478;border-radius:7px;padding:1px 8px;line-height:1.5}
/* ===== 会员详情页 ===== */
.md-card{background:var(--card);border:1px solid #efe6d0;border-radius:14px;padding:16px 16px 6px;box-shadow:var(--shadow)}
.md-name{font-size:18px;font-weight:800;color:var(--ink);display:flex;align-items:center;gap:8px}
.md-ids{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px}
.md-hd{margin:12px 0 4px;font-size:13px;font-weight:700;color:var(--green-d);border-top:1px dashed #ece2cc;padding-top:10px}
.md-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #f3ecdb;font-size:14px}
.md-row .md-k{color:var(--ink-3);flex-shrink:0}
.md-row .md-v{color:var(--ink);text-align:right}
.ma-op.more{color:var(--green-d);border-color:#bcdccd}

/* ===== 会员管理：满宽容器，操作列完整显示 ===== */
@media (min-width:900px){
  .sec-page.wide{max-width:none;margin:0;padding:12px 26px 44px}
}

/* ===== 登录身份条：名字下方金色会员身份 ===== */
.login-chip.has-ids{flex-direction:column;align-items:center;height:auto;gap:3px;padding-top:6px;padding-bottom:6px}
.login-chip .lc-line1{display:flex;align-items:center;gap:5px;white-space:nowrap}
.login-chip .lc-ids{width:100%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  font-family:'FangTaiMengXiangSong','方太梦想宋细体','Noto Serif SC','Songti SC',serif;
  font-size:10px;color:#f3dca0;letter-spacing:.6px;line-height:1.5;font-weight:400}

/* ===== 版块内顶部分段 Tab（赛乐赛 / 减肥科普）===== */
.hub-tabs{display:flex;gap:6px;background:#f1e9d6;border:1px solid #e7dcc4;border-radius:12px;padding:4px;margin:0 0 12px}
.hub-tab{flex:1;border:none;background:none;color:var(--ink-2);font-size:13.5px;font-weight:700;
  padding:9px 6px;border-radius:9px;cursor:pointer;transition:.15s;white-space:nowrap}
.hub-tab.active{background:var(--card);color:var(--green-d);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.hub-tab:not(.active):hover{color:var(--green-d)}

/* ====== 统一线条图标：尺寸与颜色 ====== */
.tab .ti svg{width:20px;height:20px;display:block;margin:0 auto}
.section-title svg{width:17px;height:17px;flex-shrink:0}
.fe-ic{color:var(--green-d)}
.fe-ic svg{width:23px;height:23px}
.seal-grid .qi{color:var(--green-d)}
.seal-grid .qi svg{width:56%;height:56%}
.dc-seal svg{width:62%;height:62%}

/* ====== 线条图标(.lic) 全局尺寸/颜色 ====== */
.lic{width:1em;height:1em;vertical-align:-0.14em}
/* 方形图标底盘：按盘子比例居中 */
.li-icon .lic,.hs-ic .lic,.cl-ic2 .lic{width:60%;height:60%;vertical-align:0}
.tf-cover .lic{width:54%;height:54%;vertical-align:0}
.li-icon,.hs-ic,.cl-ic2{color:var(--green-d)}
.hs-ic,.tf-cover{display:flex;align-items:center;justify-content:center}
.tf-cover{color:#1d5446}
.club-hero .cl-ic2{color:#fff}
.mb-guest-ic{color:var(--ink-3)}
.a2-ic{display:inline-flex;align-items:center}

/* ===== 统一线条图标(.lic) 尺寸与配色 ===== */
.lic{width:1em;height:1em;vertical-align:-0.14em;flex:none}
/* 浅底圆角小图标块：绿色描边 */
.li-icon,.hs-ic,.cl-ic2,.fe-ic,.seal-grid .qi{color:var(--green-d)}
.li-icon,.hs-ic,.tf-cover{display:flex;align-items:center;justify-content:center}
.li-icon .lic,.hs-ic .lic,.cl-ic2 .lic{width:58%;height:58%;vertical-align:0}
.fe-ic .lic{width:54%;height:54%;vertical-align:0}
.seal-grid .qi .lic{width:60%;height:60%;vertical-align:0}
.tf-cover{color:#1e5446}
.tf-cover .lic{width:48%;height:48%;vertical-align:0}
.club-hero .cl-ic2{color:#fff}
.mb-guest-ic{color:var(--ink-3)}
.dc-seal .lic{width:62%;height:62%;vertical-align:0}
.a2-ic{display:flex;align-items:center;justify-content:center}
.a2-ic .lic{width:17px;height:17px;vertical-align:0}
.section-title .lic{width:17px;height:17px;vertical-align:-3px;flex:none}
.tab .ti .lic{width:20px;height:20px;vertical-align:0;margin:0 auto}

/* ===== 阅读页：题目前线条图标印章 + 压扁页面 ===== */
.page-head .ph-seal .lic{width:62%;height:62%;vertical-align:0;color:#fdf3e7}
/* 阅读类页头收紧：去掉 ❖ 分隔、减小印章与间距 */
.sec-page.read .page-head{margin-top:2px;margin-bottom:4px}
.sec-page.read .page-head .ph-rule{display:none}
.sec-page.read .page-head .ph-seal{width:30px;height:30px}
.sec-page.read .page-head .ph-title{font-size:16.5px}
/* 文章正文压扁：减少上下留白 */
.article.compact{padding-top:12px}
.article.compact .a-meta{margin-bottom:12px}
.article.compact p{margin:7px 0;line-height:1.72}
.article.compact .sub{margin-top:12px}

/* ===== 科普卡片：主题图标移到标题前，去掉顶部行（压扁）===== */
.art-card .ac-title{display:flex;align-items:center;gap:7px;margin:0 0 5px}
.art-card .ac-title > span:last-child{flex:1;min-width:0}
.art-card .ac-ic{flex:none;width:24px;height:24px;border-radius:7px;background:var(--green-l);
  color:var(--green-d);display:flex;align-items:center;justify-content:center}
.art-card .ac-ic .lic{width:14px;height:14px;vertical-align:0}
.art-card .ac-foot .pill{font-size:10.5px;padding:0 7px;margin-right:2px}

/* ===== 考试中心：清爽重排 ===== */
.exam-stats{display:flex;gap:10px;margin:2px 0 6px}
.exam-stats .es-item{flex:1;background:#fffdf6;border:1px solid #efe6d0;border-radius:12px;padding:10px 6px;text-align:center}
.exam-stats .es-item b{display:block;font-size:19px;font-weight:800;color:var(--green-d);font-variant-numeric:tabular-nums}
.exam-stats .es-item span{font-size:11.5px;color:var(--ink-3)}
.exam-group{font-size:13px;font-weight:800;color:var(--green-d);letter-spacing:2px;margin:16px 2px 8px;
  display:flex;align-items:center;gap:9px}
.exam-group::before{content:"";width:5px;height:14px;border-radius:3px;background:var(--gold)}
.exam-group::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,#e7dcc4,transparent)}
/* 自主练习/月考 浅色卡片行 */
.prac-card,.exam-row{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #efe6d0;
  border-radius:12px;padding:11px 13px;cursor:pointer;transition:.15s}
.prac-card:hover,.exam-row:hover{box-shadow:0 3px 12px rgba(60,80,60,.08);border-color:#e0d3b2}
.exam-row + .exam-row{margin-top:0;border-top:none}
#examBox .card{padding:0}
#examBox .exam-row{border:none;border-bottom:1px solid var(--line);border-radius:0}
#examBox .exam-row:last-child{border-bottom:none}
.prac-card .li-body,.exam-row .li-body{flex:1;min-width:0}
.prac-card .li-body h4,.exam-row .li-body h4{font-size:14.5px;font-weight:700;color:var(--ink)}
.prac-card .li-meta,.exam-row .li-meta{font-size:11.5px;color:var(--ink-3);margin-top:2px}
.ce-go.light{background:var(--green-l);color:var(--green-d)}
.exam-empty{padding:12px 14px;text-align:left;color:var(--ink-3);background:#faf7ee;border:1px dashed #e7dcc4;border-radius:11px}
.qr-ico{color:var(--green-d)}
.qr-ico .lic{width:56%;height:56%;vertical-align:0}
.ce-ic .lic{width:54%;height:54%;vertical-align:0;color:#fff}

/* ===== 食物热量库 ===== */
.food-cats{display:flex;flex-wrap:wrap;gap:7px;padding:8px 0 4px}
.food-sortbar{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-3);margin:2px 0 8px}
.food-sort{border:1px solid #e6dcc6;background:#fff;border-radius:8px;padding:4px 10px;font-size:12px;color:var(--ink-2);cursor:pointer}
.food-sort.active{background:var(--green);color:#fff;border-color:var(--green)}
.food-count{margin-left:auto}
.food-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:8px}
.food-row{display:flex;align-items:center;gap:9px;padding:9px 11px;background:#fff;border:1px solid #efe6d0;
  border-radius:11px;cursor:pointer;transition:.15s;min-width:0}
.food-row:hover{box-shadow:0 3px 12px rgba(60,80,60,.08);border-color:#e0d3b2}
.fr-thumb{flex-shrink:0;width:38px;height:38px;border-radius:9px;background:#f6f0e1;
  display:flex;align-items:center;justify-content:center;font-size:21px;overflow:hidden}
.fr-thumb img{width:100%;height:100%;object-fit:cover}
.food-row .fr-body{flex:1;min-width:0;display:flex;flex-direction:column}
.food-row .fr-body b{font-size:14px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.food-row .fr-kcal{font-size:11.5px;color:var(--cinnabar);margin-top:1px}
.fr-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.fr-dot.green{background:#2f9e76}.fr-dot.yellow{background:#e0a83c}.fr-dot.red{background:#d9776a}
.food-api-tag{font-size:11.5px;color:var(--ink-3);margin:6px 2px}
/* 详情 */
.food-detail .fd-hero{border-radius:14px;padding:16px 18px;color:#fff;margin-bottom:12px;
  background:linear-gradient(135deg,#2f9e76,#1d6b54);display:flex;align-items:center;gap:14px}
.food-detail .fd-htx{flex:1;min-width:0}
.fd-thumb{flex-shrink:0;width:56px;height:56px;border-radius:13px;background:rgba(255,255,255,.22);
  display:flex;align-items:center;justify-content:center;font-size:32px;overflow:hidden}
.fd-thumb img{width:100%;height:100%;object-fit:cover;border-radius:13px}
.food-detail .fd-hero.yellow{background:linear-gradient(135deg,#e0a83c,#c2862a)}
.food-detail .fd-hero.red{background:linear-gradient(135deg,#d9776a,#b9534a)}
.fd-name{font-size:17px;font-weight:800;display:flex;align-items:center;gap:8px}
.fd-name .fr-dot{border:2px solid rgba(255,255,255,.7)}
.fd-kcal{font-size:26px;font-weight:800;margin-top:6px;font-variant-numeric:tabular-nums}
.fd-kcal i{font-size:13px;font-weight:600;font-style:normal;opacity:.9}
.fd-sub{font-size:12px;opacity:.92;margin-top:4px}
.fd-rings{display:flex;justify-content:space-around;padding:14px 8px}
.fd-ring{display:flex;flex-direction:column;align-items:center;gap:4px}
.fd-ring svg{width:64px;height:64px}
.fd-ring-pct{font-size:11px;font-weight:800;fill:var(--ink)}
.fd-ring span{font-size:11.5px;color:var(--ink-3)}
.fd-ntable,.fd-gi,.fd-units{padding:4px 14px}
.fd-nrow,.fd-girow,.fd-urow{display:flex;align-items:center;padding:9px 0;border-bottom:1px dashed #ece2cc}
.fd-nrow:last-child,.fd-girow:last-child,.fd-urow:last-child{border-bottom:none}
.fd-nrow span{flex:1;color:var(--ink-2);font-size:13.5px}
.fd-nrow b{width:90px;text-align:right;font-size:13.5px;color:var(--ink);font-weight:700}
.fd-nrow i{width:64px;text-align:right;font-size:12.5px;color:var(--ink-3);font-style:normal}
.fd-nrow.head{border-bottom:1px solid #e7dcc4}
.fd-nrow.head span,.fd-nrow.head b,.fd-nrow.head i{color:var(--ink-3);font-weight:600;font-size:12px}
.fd-girow span{flex:1;font-size:14px;color:var(--ink-2)}
.fd-girow b{width:60px;text-align:right;font-weight:800;font-size:15px;color:var(--ink)}
.fd-girow i{width:70px;text-align:right;font-style:normal;font-size:12.5px;font-weight:700}
.fd-girow i.hi{color:#d9776a}.fd-girow i.mid{color:#e0a83c}.fd-girow i.lo{color:#2f9e76}
.fd-urow .fu-l{flex:1;display:flex;flex-direction:column}
.fd-urow .fu-l b{font-size:14px;color:var(--ink)}
.fd-urow .fu-l span{font-size:11.5px;color:var(--ink-3)}
.fd-urow .fu-k{color:var(--cinnabar);font-weight:700}

/* ===== 社团：社长 + 成员名单 ===== */
.cl-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:5px}
.cl-pres{font-size:12px;color:var(--green-d);font-weight:700;background:var(--green-l);border-radius:7px;padding:1px 8px}
.cl-mem{font-size:12px;color:var(--gold-d);display:inline-flex;align-items:center;gap:4px}
.cl-mem .lic{width:1em;height:1em}
.club-pres{margin-top:8px;display:inline-block;font-size:12.5px;font-weight:700;color:#fff;
  background:rgba(255,255,255,.22);border-radius:9px;padding:3px 12px}
.cm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:6px}
.cm-card{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #efe6d0;border-radius:11px;padding:8px 10px}
.cm-card.pres{border-color:#e0c478;background:linear-gradient(135deg,#fffdf6,#faf3e0)}
.cm-av{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700}
.cm-av.f{background:#c98aa6}
.cm-card.pres .cm-av{background:linear-gradient(135deg,#d9a441,#b9842f)}
.cm-tx{flex:1;min-width:0;display:flex;flex-direction:column}
.cm-tx b{font-size:13.5px;color:var(--ink);display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cm-tx span{font-size:11px;color:var(--ink-3)}
.cm-badge{flex-shrink:0;font-size:10px;font-weight:700;color:#8a6d2b;background:linear-gradient(135deg,#f7ecca,#e9d29a);border:1px solid #e0c478;border-radius:6px;padding:0 5px}

/* ===== 活动公告板 + 回顾 ===== */
.ab-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:9px;margin-bottom:6px}
.ab-card{background:linear-gradient(135deg,#fffdf6,#f7f0dd);border:1px solid #e7d9b4;border-radius:13px;padding:12px 13px;cursor:pointer;transition:.15s}
.ab-card:hover{box-shadow:0 4px 14px rgba(150,120,40,.14);transform:translateY(-1px)}
.ab-top{display:flex;align-items:center;gap:7px;margin-bottom:5px}
.ab-club{font-size:11px;color:var(--green-d);background:var(--green-l);border-radius:6px;padding:1px 7px;font-weight:700}
.ab-st{font-size:10.5px;font-weight:700;border-radius:6px;padding:1px 7px}
.ab-st.live{color:#fff;background:#d9776a}
.ab-st.open{color:#8a6d2b;background:linear-gradient(135deg,#f7ecca,#e9d29a)}
.ab-card h4{font-size:15px;color:var(--ink);margin:2px 0 5px}
.ab-meta{font-size:12px;color:var(--ink-3);display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.ab-meta .lic{width:1em;height:1em}
.ab-foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:12px;color:var(--ink-3)}
.ab-go{color:var(--cinnabar);font-weight:700}
.ab-recap-entry{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #efe6d0;border-radius:11px;padding:11px 13px;cursor:pointer;font-size:14px;font-weight:700;color:var(--green-d);margin:4px 0 10px}
.ab-recap-entry .more{margin-left:auto}
.ab-recap-entry .lic{width:18px;height:18px}
/* 首页专栏 */
.home-act{display:grid;grid-template-columns:1fr;gap:9px}
.ha-card{display:flex;gap:10px;background:linear-gradient(135deg,#fffdf6,#f7f0dd);border:1px solid #e7d9b4;border-radius:13px;padding:11px 12px;cursor:pointer;transition:.15s}
.ha-card:hover{box-shadow:0 4px 14px rgba(150,120,40,.14)}
.ha-card.recap{background:#fff;border-color:#efe6d0}
.ha-l{flex:1;min-width:0}
.ha-l h4{font-size:14.5px;color:var(--ink);margin:2px 0 5px}
.ha-cover{flex-shrink:0;width:74px;height:74px;border-radius:11px;background:#eef3ee center/cover no-repeat;
  display:flex;align-items:center;justify-content:center;color:var(--green-d);position:relative;overflow:hidden}
.ha-cover .lic{width:30px;height:30px}
.ha-rtag{position:absolute;left:0;bottom:0;font-size:10px;color:#fff;background:rgba(0,0,0,.45);padding:1px 6px;border-radius:0 7px 0 0}
@media(min-width:900px){ .home-act{grid-template-columns:1fr 1fr} }
/* 活动详情状态徽章 */
.ad-badge{font-size:12px;font-weight:700;border-radius:7px;padding:2px 9px;vertical-align:middle}
.ad-badge.live{color:#fff;background:#d9776a}
.ad-badge.open{color:#8a6d2b;background:linear-gradient(135deg,#f7ecca,#e9d29a)}
.ad-badge.ended{color:var(--ink-3);background:#eee}
.ad-meta .lic{width:1em;height:1em;vertical-align:-.14em}
.act-st.live{color:#fff;background:#d9776a}
.act-signup.recap{background:var(--green-l);color:var(--green-d)}
.ac-label{display:block;font-size:12px;color:var(--ink-3);margin:8px 2px 3px}
/* 回顾 */
.rc-text{font-size:14.5px;line-height:1.8;color:var(--ink-2);margin:6px 2px 12px;white-space:pre-wrap}
.rc-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:7px;margin-bottom:10px}
.rc-item{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:#f1ece0;border:1px solid #e7dcc4}
.rc-item.img a{display:block;width:100%;height:100%;background:center/cover no-repeat}
.rc-item.video{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--green-d);text-decoration:none;padding:6px;text-align:center}
.rc-item.video .rc-vico .lic{width:30px;height:30px}
.rc-item.video span{font-size:11px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.rc-del{position:absolute;top:4px;right:4px;width:20px;height:20px;border:none;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;font-size:11px;cursor:pointer;line-height:1}
.rc-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.rc-btn{flex:1;min-width:120px;background:#fff;border:1px solid #d8c79c;border-radius:10px;padding:10px;font-size:13px;color:var(--green-d);font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:5px}
.rc-btn:hover{background:#faf5e8}
.rc-btn .lic{width:16px;height:16px}
.rc-btn:disabled{opacity:.6}
/* 往期回顾列表 */
.rl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:9px}
.rl-card{display:flex;gap:10px;background:#fff;border:1px solid #efe6d0;border-radius:12px;padding:9px;cursor:pointer;transition:.15s}
.rl-card:hover{box-shadow:0 3px 12px rgba(60,80,60,.1)}
.rl-cover{flex-shrink:0;width:64px;height:64px;border-radius:10px;background:#eef3ee center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:var(--green-d)}
.rl-cover .lic{width:26px;height:26px}
.rl-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.rl-tx b{font-size:14px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rl-meta{font-size:11.5px;color:var(--ink-3)}

/* ===== 活动取消 / 整卡可点 ===== */
.act-card{cursor:pointer}
.act-st.cancel{color:#9a8470;background:#eee5da}
.ad-badge.cancel{color:#a55;background:#f7e7e5}
.act-cancel-note{margin:10px 0;padding:9px 13px;background:#fbeceb;border:1px solid #f0c9c4;border-radius:10px;color:#b9534a;font-size:13.5px;font-weight:600}
.act-manage{margin:10px 0 4px}
.am-btn{border:none;border-radius:10px;padding:9px 16px;font-size:13.5px;font-weight:700;cursor:pointer}
.am-btn.cancel{background:#fbeceb;color:var(--cinnabar);border:1px solid #f0c9c4}
.am-btn.cancel:hover{background:#f8ddda}
.am-btn.restore{background:var(--green-l);color:var(--green-d);border:1px solid #bcdccd}

/* ===== 食物详情：更多营养信息展开 ===== */
.fd-more{width:100%;background:none;border:none;border-top:1px solid #efe6d0;margin-top:4px;padding:11px 0 3px;
  color:var(--green-d);font-size:13.5px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px}
.fd-arr{transition:transform .2s;font-size:14px}
.fd-more.on .fd-arr{transform:rotate(180deg)}
.fd-detail{display:none}
.fd-detail.on{display:block}
.fd-grp{font-size:12px;font-weight:700;color:var(--gold-d);letter-spacing:1px;margin:10px 0 2px;padding-top:8px;border-top:1px dashed #ece2cc}
.fd-grp:first-child{border-top:none;padding-top:2px}

/* ===== 对症食物推荐（食物排行）===== */
.food-rank-entry{display:flex;align-items:center;gap:11px;background:linear-gradient(135deg,#eaf4ee,#d7ebe0);
  border:1px solid #bcdccd;border-radius:13px;padding:12px 14px;margin-bottom:10px;cursor:pointer;transition:.15s}
.food-rank-entry:hover{box-shadow:0 4px 14px rgba(40,110,80,.14)}
.fre-ic{font-size:24px;flex-shrink:0}
.fre-tx{flex:1;min-width:0;display:flex;flex-direction:column}
.fre-tx b{font-size:15px;color:var(--green-d)}
.fre-tx span{font-size:12px;color:var(--ink-3);margin-top:1px}
.fre-go{color:var(--green-d);font-weight:700;font-size:19px}
.rank-wrap{display:flex;gap:10px;min-height:60vh}
.rank-side{flex-shrink:0;width:88px;display:flex;flex-direction:column;gap:2px;max-height:78vh;overflow-y:auto;
  background:#f6f0e1;border-radius:12px;padding:6px}
.rk-tab{border:none;background:none;padding:11px 6px;font-size:13.5px;color:var(--ink-2);cursor:pointer;border-radius:9px;text-align:center;font-weight:600;white-space:nowrap}
.rk-tab.on{background:#fff;color:var(--green-d);font-weight:800;box-shadow:0 2px 6px rgba(60,80,60,.08)}
.rank-main{flex:1;min-width:0}
.rk-h{font-size:13px;color:var(--ink-3);font-weight:700;margin:4px 2px 10px;letter-spacing:1px}
.rk-board{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #efe6d0;border-radius:12px;padding:12px 13px;margin-bottom:8px;cursor:pointer;transition:.15s}
.rk-board:hover{box-shadow:0 3px 12px rgba(60,80,60,.1);border-color:#e0d3b2}
.rk-badge{flex-shrink:0;width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,#4aa3e0,#3f86c8);
  color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;line-height:1.05;text-align:center;padding:3px}
.rk-btx{flex:1;min-width:0;font-size:15px;font-weight:700;color:var(--ink)}
.rk-board .chev{color:var(--ink-3);flex-shrink:0}
@media(min-width:900px){ .rank-side{width:120px} .rk-tab{font-size:14px} }

/* ===== 知识科普/学习工具：更小的图标格 ===== */
.sg-sm{grid-template-columns:repeat(auto-fill,minmax(74px,1fr))!important;gap:7px!important}
.sg-sm .quick{padding:8px 3px 6px!important}
.sg-sm .qi{width:30px!important;height:30px!important;border-radius:9px;margin-bottom:3px!important}
.sg-sm .qi .lic{width:54%!important;height:54%!important}
.sg-sm .quick span{font-size:11px!important}
@media(min-width:900px){
  .home-main .sg-sm{grid-template-columns:repeat(auto-fill,minmax(82px,1fr))!important}
  .home-main .sg-sm .qi{width:30px!important;height:30px!important;font-size:0!important}
}

/* ===== 团队在线看板 ===== */
.pres-top{font-size:14px;color:var(--ink-2);margin:2px 2px 12px;display:flex;align-items:center;gap:7px}
.pres-top b{color:#2f9e76;font-size:17px}
.pres-top .more{margin-left:auto;cursor:pointer}
.pres-bigdot{width:10px;height:10px;border-radius:50%;background:#2f9e76;box-shadow:0 0 0 3px rgba(47,158,118,.2)}
.pres-team{margin-bottom:14px}
.pres-thead{display:flex;align-items:center;justify-content:space-between;font-size:13.5px;font-weight:700;color:var(--green-d);
  padding:6px 10px;background:#f6f0e1;border-radius:9px;margin-bottom:8px}
.pres-thead span{font-size:12px;color:var(--ink-3);font-weight:600}
.pres-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.pres-card{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #efe6d0;border-radius:11px;padding:8px 10px}
.pres-card.off{background:#fafafa;border-color:#eee}
.pres-av{position:relative;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--green);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700}
.pres-av.f{background:#c98aa6}
.pres-av.gray{background:#c2c2c2}
.pres-dot{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;border:2px solid #fff}
.pres-dot.on{background:#2f9e76}
.pres-dot.off{background:#bbb}
.pres-tx{flex:1;min-width:0;display:flex;flex-direction:column}
.pres-tx b{font-size:13.5px;color:var(--ink);display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pres-tx span{font-size:11px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pres-online{color:#2f9e76;font-style:normal;font-weight:700}
.pres-card.off .pres-tx b{color:var(--ink-3)}
.pres-lead{flex-shrink:0;font-size:10px;font-weight:700;color:#8a6d2b;background:linear-gradient(135deg,#f7ecca,#e9d29a);border:1px solid #e0c478;border-radius:6px;padding:0 5px}

/* 团队在线：tab 角标 + 今日在线时长 */
.pres-badge{display:none;margin-left:auto;background:#2f9e76;color:#fff;font-size:10px;min-width:17px;height:17px;border-radius:9px;align-items:center;justify-content:center;padding:0 5px;font-weight:700}
.pres-today{font-size:10.5px;color:var(--gold-d);margin-top:1px}
.pres-card.off .pres-today{color:var(--ink-3)}

/* ===== 生日墙 ===== */
.bday-list .bday-row{display:flex;align-items:center;gap:11px;padding:11px 13px;border-bottom:1px solid var(--line);cursor:pointer}
.bday-list .bday-row:last-child{border-bottom:none}
.bday-list .bday-row:hover{background:#fffaf0}
.bday-av{position:relative;flex-shrink:0;width:38px;height:38px;border-radius:50%;background:#e0a83c;color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700}
.bday-av.f{background:#c98aa6}
.bday-av.big{width:62px;height:62px;font-size:26px;margin:0 auto 8px}
.bday-cake{position:absolute;right:-4px;bottom:-4px;font-size:15px}
.bday-go{flex-shrink:0;color:var(--cinnabar);font-weight:700;font-size:12.5px}
.bday-hero{text-align:center;padding:8px 0 6px}
.bday-hero h2{font-size:20px;color:var(--ink);margin-top:2px}
.bday-hero p{font-size:13px;color:var(--ink-3);margin-top:3px}
.bday-self{background:linear-gradient(135deg,#fff5db,#fbe9bd);border:1px solid #e7d09a;border-radius:12px;
  padding:12px 14px;font-size:14px;color:#8a6d2b;font-weight:600;margin-bottom:12px;text-align:center}
.wish-row{display:flex;flex-direction:column;gap:2px;padding:10px 13px;border-bottom:1px dashed #ece2cc}
.wish-row:last-child{border-bottom:none}
.wish-row b{font-size:13px;color:var(--green-d)}
.wish-row span{font-size:14px;color:var(--ink-2);line-height:1.6}

/* 生日墙：自动祝福条 */
.bday-auto{background:linear-gradient(135deg,#fff3d6,#ffe6f0);border:1px solid #f0d29a;border-radius:12px;
  padding:12px 14px;font-size:14px;line-height:1.7;color:#9a5a3a;font-weight:600;margin-bottom:12px}

/* ===== 修复：企业专区与右栏重叠（卡片网格允许收缩）===== */
@media(min-width:900px){
  .home-cols .home-main{min-width:0}
  .home-main .feature-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .feature-entry,.today-feat{min-width:0}
  .fe-tx b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
/* ===== 生日卡：祝福语换行、整体加大 ===== */
.bday-list .bday-row{align-items:flex-start;padding:13px 14px}
.bday-list .bday-row .bday-av{margin-top:1px}
.bday-list .bday-row .lc-tx b{font-size:14.5px;line-height:1.45}
.bday-list .bday-row .lc-tx span{white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
  overflow:hidden;font-size:12.5px;line-height:1.6;margin-top:4px;color:var(--ink-2)}
.bday-list .bday-row .bday-go{align-self:center}

/* ============================================================
   手机端整体优化（2026-06）：自适应 + 首页做减法
   - 登录条不再压住标题（单行紧凑）
   - hero 标题自适应不溢出（竖排）
   - 首页隐藏 公告/生日/排行（移到会员中心）
   - 新增「全部功能」宫格，手机可进所有版块
   ============================================================ */
/* 默认（桌面）隐藏「全部功能」宫格，桌面用左侧菜单 */
.mobile-only{display:none}

@media (max-width:899px){
  /* 「全部功能」宫格：手机显示 */
  .mobile-only{display:block}
  .func-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 6px;margin-top:6px}
  .func-grid .quick{padding:10px 4px}
  .func-grid .quick span:last-child{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

  /* 首页隐藏 公告 / 生日墙 / 排行榜（已移到会员中心） */
  .home-cols .home-side{display:none!important}
  /* 首页绿色 Banner（心性即文化…）手机端整块隐藏，标语已移到顶栏 */
  .home-pad > .hero{display:none}

  /* 登录身份条：单行紧凑，不再压住「云知学堂」标题 */
  .login-chip{max-width:46vw}
  .login-chip .lc-ids{display:none}
  .login-chip.has-ids{flex-direction:row;align-items:center;height:28px;gap:5px;padding:0 11px}
  .login-chip .lc-line1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}

  /* hero 标题改竖排，文字自适应不溢出 */
  .hero{flex-direction:column;align-items:stretch;gap:9px;padding:14px 16px}
  .hero-main{flex-direction:column;align-items:flex-start;gap:6px}
  .hero-main h2{white-space:normal;font-size:19px;letter-spacing:2px;flex-shrink:1}
  .hero-main p{border-left:none;padding-left:0;font-size:11.5px;line-height:1.6}
  .hero-stats{flex:0 0 auto;width:100%;margin-left:0;justify-content:space-around;
    border-top:1px dashed rgba(255,255,255,.22);border-left:none;padding-top:9px;padding-left:0}

  /* 二级页：顶部标题栏已显示标题，隐藏页内重复的标题块（印章+标题+分隔线） */
  .sec-page > .page-head{display:none}
  .sec-page.read > .page-head{display:none}

  /* 页内字体整体再收一档（顶栏/底栏不变） */
  .screen > .fade{zoom:.93}

  /* 顶栏品牌整体再缩小（放最后，覆盖前面的基础尺寸） */
  .topbar{padding:18px 16px 6px}
  .brand-head{gap:6px}
  .brand-logo-img{height:23px}
  .brand-art svg{height:25px}
  .brand-tagline{font-size:10px;letter-spacing:1px;margin-top:2px}
  .brand-tagline::before,.brand-tagline::after{font-size:7px;margin:0 5px}
}

/* ============================================================
   各二级页顶部的绿色装饰条统一去掉（标题已由顶栏/页头显示，重复且占地方）
   ============================================================ */
.brand-hero,.comp-hero,.culture-hero,.club-hero,.cl-hero,.sec-banner,.gi-hero{display:none!important}

/* 阅读器翻页条：上一篇 / 返回目录 / 下一篇（科普文章、心性能量场） */
.rd-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:26px 0 6px}
.rd-nav-btn{flex:1;border:1px solid var(--line);background:#fff;color:var(--green-d);border-radius:22px;
  padding:10px 10px;font-size:13.5px;font-weight:700;cursor:pointer;text-align:center;white-space:nowrap;transition:.15s}
.rd-nav-btn:active{background:var(--green-l);transform:scale(.97)}
.rd-nav-btn.rd-toc{flex:0 0 auto;background:var(--green);color:#fff;border-color:transparent;padding:10px 20px}
.rd-nav-btn[disabled]{opacity:.32;pointer-events:none}

/* ===== 公司资料库 ===== */
.arc-list{padding:4px}
.arc-entry{display:flex;align-items:center;gap:13px;padding:15px 14px;cursor:pointer;border-bottom:1px solid var(--line)}
.arc-entry:last-child{border-bottom:none}
.arc-entry:active{background:var(--green-l)}
.arc-ic{flex-shrink:0;width:44px;height:44px;border-radius:12px;background:var(--green-l);color:var(--green-d);
  display:flex;align-items:center;justify-content:center}
.arc-ic svg{width:24px;height:24px}
.arc-tx{flex:1;min-width:0;display:flex;flex-direction:column}
.arc-tx b{font-size:15.5px;color:var(--ink);font-weight:700}
.arc-tx span{font-size:12px;color:var(--ink-3);margin-top:3px}
.arc-entry .chev{color:var(--ink-3);font-size:20px}
/* 话术原文档下载按钮 */
.lib-dl{display:flex;align-items:center;justify-content:center;gap:7px;margin:18px 0 4px;
  border:1px solid var(--green);background:var(--green-l);color:var(--green-d);border-radius:12px;
  padding:12px;font-size:14px;font-weight:700;text-decoration:none}
.lib-dl:active{background:#cfe2d8}
.lib-dl svg{width:18px;height:18px}
/* 图文型话术（#5 四个阶段）整图展示 */
.lib-doc-img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--line);margin:10px 0}
/* 管理员操作行 */
.lib-admin{display:flex;gap:10px;margin-top:16px}
.lib-admin .big-btn{margin-top:0}
/* 文件上传行 */
.sc-up{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-3)}
.sc-up input[type=file]{width:auto;border:none;padding:0;font-size:12.5px}

/* ===== 减重案例库 ===== */
.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:6px}
@media(min-width:900px){ .case-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))} }
.case-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;cursor:pointer}
.case-card:active{transform:scale(.98)}
.cc-img{position:relative;width:100%;aspect-ratio:3/4;background:#f1efe8;overflow:hidden}
.cc-img img{width:100%;height:100%;object-fit:cover;display:block}
.cc-n{position:absolute;right:6px;bottom:6px;background:rgba(0,0,0,.55);color:#fff;font-size:11px;padding:2px 7px;border-radius:10px}
.cc-tx{padding:8px 10px;font-size:13px;font-weight:600;color:var(--ink);text-align:center;display:flex;align-items:center;justify-content:center;gap:5px}
.cc-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-rename{flex-shrink:0;border:none;background:none;cursor:pointer;font-size:13px;padding:2px;line-height:1;opacity:.7}
.cc-rename:active{opacity:1}
.gal-tip{background:#fffaf0;border:1px solid var(--gold-l);border-radius:10px;padding:9px 12px;font-size:12.5px;color:#8a6d2b;margin-bottom:12px}
.gal-item{margin:0 auto 18px;max-width:330px}
.gal-img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--line);cursor:zoom-in}
.gal-btns{display:flex;gap:10px;margin-top:8px}
.gal-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;
  border:1px solid var(--green);background:var(--green-l);color:var(--green-d);border-radius:10px;
  padding:9px;font-size:13.5px;font-weight:700;cursor:pointer}
.gal-btn:active{background:#cfe2d8}
.gal-btn svg{width:16px;height:16px}
/* 案例级 全部下载/复制 */
.gal-allbtns{display:flex;gap:10px;margin-bottom:14px}
.gal-allbtn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;
  border:none;background:var(--green);color:#fff;border-radius:11px;padding:12px;font-size:14px;font-weight:700;cursor:pointer}
.gal-allbtn:active{background:var(--green-d);transform:scale(.98)}
.gal-allbtn svg{width:17px;height:17px}
/* 灯箱放大 */
.lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;padding:12px}
.lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px}
.lightbox .lb-close{position:absolute;top:16px;right:20px;color:#fff;font-size:30px;cursor:pointer;line-height:1}
/* 轻提示 */
.lib-toast{position:fixed;left:50%;bottom:80px;transform:translateX(-50%) translateY(10px);z-index:10000;
  background:rgba(30,40,38,.94);color:#fff;font-size:13.5px;padding:11px 18px;border-radius:22px;
  opacity:0;pointer-events:none;transition:.25s;max-width:80vw;text-align:center}
.lib-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ===== 公告定向 + 弹窗 ===== */
/* 接收人选择 */
.rcp-seg{display:flex;gap:8px;margin:2px 0 4px}
.rcp-seg-b{flex:1;border:1px solid #ddd3bb;background:#fff;color:#777;border-radius:8px;padding:8px;font-size:13.5px;cursor:pointer}
.rcp-seg-b.on{background:var(--green);color:#fff;border-color:transparent;font-weight:600}
.rcp-dim{font-size:12px;color:var(--ink-3);margin:10px 0 6px}
.rcp-row{display:flex;flex-wrap:wrap;gap:7px}
.rcp-chip{font-size:12.5px;padding:5px 12px;border-radius:16px;background:#fff;border:1px solid #ddd3bb;color:#555;cursor:pointer}
.rcp-chip.on{background:var(--green);color:#fff;border-color:transparent}
.rcp-sum{background:#f4faf6;border:1px solid #cfe6da;border-radius:8px;padding:9px 12px;font-size:12.5px;color:var(--green-d);margin:12px 0 4px}
/* 弹窗提醒 */
.ann-pop{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:24px}
.ann-pop-card{background:#fff;border-radius:16px;max-width:340px;width:100%;padding:20px 18px;box-shadow:0 12px 40px rgba(0,0,0,.25)}
.ann-pop-h{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:800;color:var(--green-d)}
.ann-pop-h svg{width:22px;height:22px}
.ann-pop-sub{font-size:13px;color:var(--ink-3);margin:8px 0 6px}
.ann-pop-list{margin:0;padding-left:20px;font-size:14px;color:var(--ink);line-height:1.8;max-height:40vh;overflow:auto}
.ann-pop-btns{display:flex;gap:10px;margin-top:16px}
.ann-pop-later{flex:1;border:1px solid var(--line);background:#fff;color:var(--ink-2);border-radius:22px;padding:11px;font-size:14px;cursor:pointer}
.ann-pop-go{flex:1.4;border:none;background:var(--green);color:#fff;border-radius:22px;padding:11px;font-size:14px;font-weight:700;cursor:pointer}
/* 列表里的 🔔 与 已读情况 */
.ann-bell{margin-right:4px}
.ann-stat{color:var(--green);cursor:pointer;text-decoration:underline}
/* 已读统计 */
.stat-sum{font-size:15px;color:var(--ink);padding:6px 2px 12px}
.stat-sum b{font-size:20px;color:var(--green-d)}
.stat-names{display:flex;flex-wrap:wrap;gap:8px;padding:13px}
.stat-name{font-size:12.5px;padding:5px 11px;border-radius:14px;background:#f1efe8;color:var(--ink-2)}
.stat-name.no{background:#fbecea;color:var(--cinnabar)}
.stat-name.yes{background:var(--green-l);color:var(--green-d)}
