/* ============================================================
 * 招生有数 · 会员前端资源（全部 zsy- 前缀，独立于模板内联样式）
 * 颜色令牌（与 blank-template :root 一致）：
 *   --bg:#f5f5f7 --card:#ffffff --line:#d2d2d7
 *   --ink:#1d1d1f --sub:#6e6e73
 *   --brand:#0f172b --blue:#0066cc --blue2:#2997ff --blue-bg:#e8f1fb
 *   --gold:#0066cc --gold-deep:#004d99
 *   --green:#007956 --green-bg:#e6f2ec --red:#dc2626
 * 圆角 12-14px；弹窗 400px 白卡 + 遮罩（对齐 welcome-modal 质感）
 * ============================================================ */

/* ---------- 顶栏用户区（登录状态条） ---------- */
.zsy-userbox{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;white-space:nowrap;}
.zsy-user-phone{font-size:13.5px;font-weight:600;color:#1d1d1f;}
.zsy-badge{display:inline-flex;align-items:center;font-size:11.5px;font-weight:700;border-radius:999px;padding:2px 10px;white-space:nowrap;line-height:1.6;}
.zsy-badge-free {background:#f5f5f7;color:#6e6e73;border:1px solid #e2e2e5;}
.zsy-badge-blue {background:#e8f1fb;color:#0066cc;border:1px solid #cfe4f7;}
.zsy-badge-gold {background:#e8f1fb;color:#004d99;border:1px solid #cfe4f7;}
.zsy-badge-deep {background:#0f172b;color:#fff;border:1px solid #0f172b;}
.zsy-hbtn{background:transparent;border:1px solid #d2d2d7;border-radius:10px;padding:8px 16px;font-size:13.5px;font-weight:600;color:#1d1d1f;cursor:pointer;font-family:inherit;transition:border-color .18s,color .18s,background .18s;}
.zsy-hbtn:hover{border-color:#0066cc;color:#0066cc;}
.zsy-hbtn-primary{background:#0f172b;color:#fff;border-color:#0f172b;}
.zsy-hbtn-primary:hover{background:#1e293b;border-color:#1e293b;color:#fff;}
.zsy-hlink{display:inline-flex;align-items:center;font-size:13.5px;font-weight:600;color:#1d1d1f;background:#fff;border:1px solid #d2d2d7;border-radius:10px;padding:8px 16px;text-decoration:none;transition:border-color .18s,color .18s,background .18s;}
.zsy-hlink:hover{border-color:#0066cc;color:#0066cc;}

/* ---------- 登录/注册弹窗 ---------- */
.zsy-modal-mask{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;background:rgba(15,23,43,.45);backdrop-filter:blur(4px);padding:20px;}
.zsy-modal-mask.open{display:flex;}
.zsy-modal{background:#fff;border-radius:18px;max-width:400px;width:100%;padding:26px 24px;box-shadow:0 24px 60px rgba(0,0,0,.25);position:relative;box-sizing:border-box;}
.zsy-modal-x{position:absolute;right:12px;top:12px;background:none;border:0;font-size:20px;color:#6e6e73;cursor:pointer;line-height:1;padding:4px 8px;}
.zsy-tabs{display:flex;gap:6px;background:#f5f5f7;border-radius:10px;padding:4px;margin-bottom:14px;}
.zsy-tab{flex:1;border:0;background:transparent;border-radius:8px;padding:9px;font-size:14px;font-weight:600;color:#6e6e73;cursor:pointer;font-family:inherit;transition:background .18s,color .18s;}
.zsy-tab.on{background:#fff;color:#1d1d1f;box-shadow:0 1px 3px rgba(0,0,0,.08);}
.zsy-test-banner{background:#fffbeb;border:1px solid #fde68a;color:#b45309;font-size:12.5px;border-radius:10px;padding:8px 12px;margin-bottom:14px;text-align:center;line-height:1.6;}
.zsy-form{display:flex;flex-direction:column;gap:12px;}
.zsy-field{display:flex;flex-direction:column;gap:5px;font-size:13px;color:#6e6e73;}
.zsy-field input{border:1px solid #d2d2d7;border-radius:10px;padding:11px 13px;font-size:14px;font-family:inherit;color:#1d1d1f;outline:none;transition:border-color .15s;box-sizing:border-box;}
.zsy-field input:focus{border-color:#0066cc;}
.zsy-code-row{display:flex;gap:8px;align-items:flex-end;}
.zsy-code-row .zsy-field{flex:1;}
.zsy-code-btn{white-space:nowrap;padding:11px 14px;}
.zsy-msg{font-size:13px;min-height:20px;margin-top:10px;text-align:center;line-height:1.6;}
.zsy-msg.err{color:#dc2626;}
.zsy-msg.ok{color:#007956;}

/* ---------- 按钮通用（弹窗 / 锁定块 / 个人中心复用） ---------- */
.zsy-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:10px;padding:12px 18px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;text-decoration:none;transition:background .18s,color .18s,border-color .18s;}
.zsy-btn-primary{background:#0f172b;color:#fff;}
.zsy-btn-primary:hover{background:#1e293b;color:#fff;}
.zsy-btn-ghost{background:transparent;color:#0f172b;border:1.5px solid #0f172b;}
.zsy-btn-ghost:hover{background:#0f172b;color:#fff;}
.zsy-btn-gold{background:#0066cc;color:#fff;box-shadow:0 8px 20px rgba(0,102,204,.25);}
.zsy-btn-gold:hover{background:#004d99;color:#fff;}
.zsy-btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none;}

/* ---------- 内容分级锁定占位（content-gate 输出） ---------- */
.zsy-locked{background:#fff;border:1px solid #d2d2d7;border-radius:14px;padding:32px 24px;text-align:center;max-width:560px;margin:18px auto;}
.zsy-locked-ic{font-size:34px;line-height:1;margin-bottom:8px;}
.zsy-locked-title{font-size:17px;font-weight:800;color:#1d1d1f;}
.zsy-locked-sub{font-size:13.5px;color:#6e6e73;margin:8px 0 16px;line-height:1.7;}
.zsy-locked-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}

/* ---------- 个人中心 ---------- */
.zsy-account{max-width:860px;margin:0 auto;padding:24px 0 8px;display:flex;flex-direction:column;gap:16px;}
.zsy-card{background:#fff;border:1px solid #d2d2d7;border-radius:14px;padding:22px 24px;}
.zsy-card h2{font-size:17px;font-weight:800;margin-bottom:10px;color:#1d1d1f;}
.zsy-card p{font-size:14px;color:#6e6e73;line-height:1.8;}
.zsy-status-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;}
.zsy-status-phone{font-size:22px;font-weight:800;color:#1d1d1f;letter-spacing:.5px;}
.zsy-status-badges{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap;}
.zsy-status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px;}
.zsy-stat{background:#f5f5f7;border-radius:12px;padding:14px 16px;}
.zsy-stat b{font-size:16px;font-weight:800;color:#0f172b;display:block;line-height:1.4;word-break:break-all;}
.zsy-stat b small{font-size:12.5px;font-weight:600;color:#6e6e73;}
.zsy-stat span{font-size:12.5px;color:#6e6e73;display:block;margin-top:3px;}
.zsy-steps{margin:10px 0 16px;padding-left:20px;font-size:14px;color:#1d1d1f;line-height:2;}
.zsy-muted{font-size:13.5px;color:#6e6e73;}
.zsy-log-table{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:6px;}
.zsy-log-table th{background:#0f172b;color:#fff;padding:9px 12px;text-align:left;font-weight:600;font-size:12.5px;}
.zsy-log-table td{padding:9px 12px;border-bottom:1px solid #e5e5e5;vertical-align:top;color:#1d1d1f;}
.zsy-log-table tr:last-child td{border-bottom:none;}
.zsy-login-need{text-align:center;padding:40px 24px;}
.zsy-login-need h2{margin:10px 0 6px;}

/* ---------- 移动端（≤767px）：登录条收敛为短词 ---------- */
@media (max-width:767px){
  .zsy-userbox{gap:6px;}
  .zsy-user-phone{display:none;}
  .zsy-badge{font-size:10.5px;padding:1px 7px;}
  .zsy-hbtn{padding:7px 11px;font-size:12.5px;}
  .zsy-hlink{font-size:12.5px;}
  .zsy-account{padding:16px 0 8px;}
  .zsy-card{padding:18px 16px;}
  .zsy-status-grid{grid-template-columns:repeat(2,1fr);}
  .zsy-locked{padding:26px 18px;}
}

/* 卡内软锁 CTA（列表卡：保留标题描述，只锁按钮） */
.zsy-lock-cta{display:inline-flex;align-items:center;gap:6px;background:#F1EEE4;border:1px solid #C9A24B;color:#A8843A !important;border-radius:10px;padding:10px 16px;font-size:13.5px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;}
.zsy-lock-cta:hover{background:#E8DFC9;color:#8C6D2F !important;}

/* 划线原价 */
.p-old{font-size:13px;font-weight:600;color:#999;text-decoration:line-through;margin-left:6px;}

/* ---------- 社区讨论 ---------- */
.zsy-comm{max-width:860px;margin:0 auto;padding:8px 0 24px;display:flex;flex-direction:column;gap:18px;}
.zsy-comm-form{background:#fff;border:1px solid #d2d2d7;border-radius:14px;padding:20px 22px;}
.zsy-comm-form h3{font-size:16px;font-weight:800;color:#1d1d1f;margin-bottom:12px;}
.zsy-comm-row{display:flex;flex-direction:column;gap:10px;}
.zsy-comm-select{border:1px solid #d2d2d7;border-radius:10px;padding:10px 12px;font-size:14px;font-family:inherit;color:#1d1d1f;background:#fff;outline:none;max-width:220px;}
.zsy-comm-input{border:1px solid #d2d2d7;border-radius:10px;padding:11px 13px;font-size:14px;font-family:inherit;color:#1d1d1f;outline:none;resize:vertical;box-sizing:border-box;line-height:1.7;}
.zsy-comm-input:focus,.zsy-comm-select:focus{border-color:#0066cc;}
.zsy-comm-actions{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap;}
.zsy-comm-hint{font-size:12.5px;color:#6e6e73;}
.zsy-comm-topics{display:flex;flex-direction:column;gap:10px;}
.zsy-topic{background:#fff;border:1px solid #d2d2d7;border-radius:14px;overflow:hidden;}
.zsy-topic summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;cursor:pointer;list-style:none;font-size:14.5px;font-weight:700;color:#1d1d1f;}
.zsy-topic summary::-webkit-details-marker{display:none;}
.zsy-topic summary::before{content:"▾";color:#0066cc;margin-right:8px;font-size:12px;transition:transform .15s;}
.zsy-topic[open] summary::before{transform:rotate(180deg);}
.zsy-topic-name{flex:1;}
.zsy-topic-count{font-size:12px;font-weight:600;color:#0066cc;background:#e8f1fb;border-radius:999px;padding:2px 10px;white-space:nowrap;}
.zsy-posts{padding:0 18px 14px;}
.zsy-post{border-top:1px solid #f0f0f2;padding:12px 0;}
.zsy-post:first-child{border-top:none;}
.zsy-post-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;}
.zsy-post-head b{font-size:13.5px;font-weight:700;color:#0f172b;}
.zsy-post-time{font-size:12px;color:#6e6e73;white-space:nowrap;}
.zsy-post-body{font-size:14px;color:#1d1d1f;line-height:1.8;margin:6px 0 0;white-space:pre-wrap;}
@media (max-width:767px){
  .zsy-comm-form{padding:16px 14px;}
  .zsy-topic summary{padding:12px 14px;}
  .zsy-posts{padding:0 14px 12px;}
}

/* ---------- 课程"制作中"占位 ---------- */
.zsy-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#f5f5f7;border:1px dashed #d2d2d7;border-radius:14px;padding:44px 24px;text-align:center;min-height:260px;box-sizing:border-box;}
.zsy-soon-ic{font-size:38px;line-height:1;}
.zsy-soon h3{font-size:17px;font-weight:800;color:#1d1d1f;margin:4px 0 0;}
.zsy-soon p{font-size:13.5px;color:#6e6e73;line-height:1.7;max-width:420px;margin:6px 0 14px;}
@media (max-width:767px){
  .zsy-soon{padding:30px 16px;min-height:200px;}
}

/* ---------- 社区页：加入微信群版式（参考 ayi001.xyz/community） ---------- */
.comm-hero{background:linear-gradient(160deg,#0f172b 0%,#1e293b 100%);border-radius:20px;padding:64px 24px 56px;text-align:center;color:#fff;margin-bottom:18px;}
.comm-hero h1{font-size:32px;font-weight:800;letter-spacing:-.5px;margin:0;}
.comm-hero__sub{font-size:15.5px;color:#cbd5e1;margin:14px auto 34px;max-width:560px;line-height:1.8;}
.comm-hero__qr-card{display:inline-flex;flex-direction:column;align-items:center;background:#fff;border-radius:20px;padding:26px 26px 20px;box-shadow:0 24px 60px rgba(0,0,0,.28);max-width:380px;width:100%;box-sizing:border-box;}
.comm-hero__qr-wrapper{width:100%;display:flex;justify-content:center;}
.comm-qr-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:320px;height:400px;background:#f5f5f7;border:2px dashed #c9c9cf;border-radius:12px;color:#6e6e73;font-size:13px;}
.comm-qr-ph b{font-size:17px;font-weight:800;color:#1d1d1f;}
.comm-qr-ph small{font-size:12px;color:#9b9ba1;}
.comm-qr-ph--sm{width:180px;height:245px;}
.comm-hero__qr-hint{font-size:13px;color:#6e6e73;margin:16px 0 0;line-height:1.7;}
.comm-follow{background:#fff;border:1px solid #e5e5e8;border-radius:20px;padding:44px 24px;text-align:center;}
.comm-follow h2{font-size:24px;font-weight:800;color:#1d1d1f;margin:0;}
.comm-follow__sub{font-size:14px;color:#6e6e73;margin:10px 0 30px;}
.comm-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:820px;margin:0 auto;}
.comm-card{background:#f8f8fa;border:1px solid #ececf0;border-radius:16px;padding:22px 18px;display:flex;flex-direction:column;align-items:center;gap:12px;}
.comm-card__label{font-size:15px;font-weight:800;color:#0f172b;}
.comm-card__img-wrapper{display:flex;justify-content:center;}
.comm-card__desc{font-size:12.5px;color:#6e6e73;margin:0;}
@media (max-width:767px){
  .comm-hero{padding:44px 16px 38px;border-radius:16px;}
  .comm-hero h1{font-size:24px;}
  .comm-hero__qr-card{padding:20px 14px 16px;}
  .comm-qr-ph{width:240px;height:300px;}
  .comm-qr-ph--sm{width:150px;height:205px;}
  .comm-cards{grid-template-columns:repeat(2,1fr);gap:12px;}
  .comm-card{padding:16px 10px;}
}
