/* ============================================================
   济遇俏合 JIYU QIAOHE · Design Tokens（与在线设计稿同源）
   C端/官网：粉透氛围 · 后台：白灰高对比
   ============================================================ */
:root{
  /* 品牌色 */
  --brand:#FE446D;          /* 俏合玫 · 主品牌色（LOGO取色） */
  --brand-deep:#E2235B;     /* 深玫 · 白底正文强调 4.5:1 */
  --rose-deep:#D61E4F;      /* 深玫 · 白底正文 5.1:1 */
  --wine:#A01F47;           /* 俏合酒红 · 信任/认证语境 */
  --coral:#FF7E9E;          /* 珊瑚粉 · 渐变终点 */
  --coral-warm:#FF7A66;     /* 俏珊瑚 · 认证/红娘点缀 */
  --peach:#FFB3C6;          /* 蜜桃粉 · VIP甜渐变中段 */
  --cream:#FFF0F4;          /* 奶油粉 · VIP甜渐变终点 */
  --bg-pink:#FDF4F7;        /* C端/官网页面底 */
  --halo-a:rgba(255,182,203,.40);
  --halo-b:rgba(255,214,226,.55);
  --halo-c:rgba(255,236,242,.75);
  /* 后台白灰高对比 */
  --g1:#1F2329; --g2:#3D3F43; --g3:#646A73; --g4:#8F959E;
  --bg-admin:#F5F6F8; --side-admin:#F0F2F5; --line-admin:#E4E7EC;
  --ok:#00B578; --warn:#FF8F1F; --err:#FA5151; --info:#3370FF;
  /* 中性 */
  --ink:#2B2226; --ink-2:#6B5A61; --white:#fff;
  --line:rgba(254,68,109,.16);
  /* 尺寸 */
  --r-btn:8px; --r-card:14px; --r-card-lg:18px;
  --grad-brand:linear-gradient(135deg,#FE446D 0%,#FF7E9E 100%);
  --grad-sweet:linear-gradient(135deg,#FE446D 0%,#FFB3C6 62%,#FFF0F4 100%);
  --glass:rgba(255,255,255,.74);
  --shadow-soft:0 8px 24px rgba(254,68,109,.12);
  /* legacy aliases (兼容 v1.5/v1.6 历史页面，已映射到设计稿 token) */
  --pur:#E2235B;        --pur-bg:#FFF0F4;       --pink-1:#FE446D;       --pink-2:#FF7E9E;
  --pink-deep:#D61E4F;  --pink-bg:#FDF4F7;      --txt:#2B2226;          --txt-gray:#6B5A61;
  --bd:rgba(254,68,109,.16);  --bg:#FAF7F8;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background:#FAF7F8;color:var(--ink);-webkit-font-smoothing:antialiased}
img{display:block}

/* ---------- 文档框架 ---------- */
.doc{max-width:1560px;margin:0 auto;padding:40px 28px 80px}
.doc-header{background:var(--grad-brand);border-radius:22px;color:#fff;padding:44px 48px;position:relative;overflow:hidden}
.doc-header::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.14);top:-220px;right:-80px}
.doc-header::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.10);bottom:-140px;left:30%}
.doc-header h1{font-size:30px;letter-spacing:1px;position:relative;z-index:1}
.doc-header p{margin-top:10px;font-size:13.5px;opacity:.92;position:relative;z-index:1;line-height:1.8}
.doc-header .meta{display:flex;gap:26px;margin-top:18px;position:relative;z-index:1;font-size:12.5px}
.doc-header .meta b{font-size:17px;font-weight:700;margin-right:5px}
.toc{background:#fff;border-radius:var(--r-card);padding:22px 26px;margin:22px 0 40px;display:flex;flex-wrap:wrap;gap:10px;box-shadow:var(--shadow-soft)}
.toc a{font-size:13px;color:var(--brand-deep);text-decoration:none;background:var(--bg-pink);border:1px solid var(--line);border-radius:999px;padding:7px 15px}
.toc a:hover{background:#fff}
.toc a b{font-weight:700;margin-right:4px}
.sec-anchor{scroll-margin-top:20px}
h2.doc-sec{font-size:22px;margin:52px 0 6px;display:flex;align-items:center;gap:12px}
h2.doc-sec::before{content:attr(data-no);font-size:13px;font-weight:800;color:var(--brand);border:2px solid var(--brand);border-radius:6px;padding:3px 8px;letter-spacing:1px}
.doc-sec-sub{font-size:13px;color:var(--g3);margin-bottom:20px}
.board-label{display:flex;align-items:baseline;gap:10px;margin:34px 0 12px}
.board-label .no{font-size:12px;font-weight:800;color:var(--brand);letter-spacing:.5px}
.board-label .nm{font-size:16px;font-weight:700}
.board-label .en{font-size:11.5px;color:var(--g4);letter-spacing:1.5px;text-transform:uppercase}
.board-label .tag{margin-left:auto;font-size:11.5px;color:var(--g3);background:#fff;border:1px solid var(--line-admin);border-radius:999px;padding:4px 12px}
.gallery{display:flex;flex-wrap:wrap;gap:26px;align-items:flex-start}
.hscroll{overflow-x:auto;padding-bottom:14px}

/* ---------- 交接说明 / Token 表 ---------- */
.handoff{background:#fff;border-radius:var(--r-card-lg);padding:34px 38px;box-shadow:var(--shadow-soft)}
.handoff h3{font-size:16px;margin:26px 0 10px;color:var(--rose-deep)}
.handoff h3:first-child{margin-top:0}
.handoff p,.handoff li{font-size:13.5px;line-height:2;color:var(--ink)}
.handoff ul{padding-left:20px}
.tok-table{width:100%;border-collapse:collapse;margin:12px 0;font-size:12.8px}
.tok-table th{background:var(--bg-admin);color:var(--g1);text-align:left;padding:9px 12px;border:1px solid var(--line-admin);font-weight:700}
.tok-table td{padding:9px 12px;border:1px solid var(--line-admin);color:var(--g2);line-height:1.7}
.tok-table td code{background:var(--bg-pink);color:var(--brand-deep);padding:2px 7px;border-radius:5px;font-size:12px}
.sw{display:inline-block;width:15px;height:15px;border-radius:4px;vertical-align:-3px;margin-right:7px;border:1px solid rgba(0,0,0,.08)}

/* ---------- 手机画板（C端 375px） ---------- */
.phone{width:375px;background:var(--bg-pink);border-radius:38px;border:10px solid #2B2226;overflow:hidden;position:relative;box-shadow:0 18px 44px rgba(43,34,38,.16);flex-shrink:0}
.phone::before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:var(--halo-a);top:-120px;left:-90px;pointer-events:none}
.phone::after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:var(--halo-b);top:180px;right:-160px;pointer-events:none}
.halo3{position:absolute;width:280px;height:280px;border-radius:50%;background:var(--halo-c);bottom:-100px;left:-110px;pointer-events:none}
.p-screen{position:relative;z-index:1;display:flex;flex-direction:column;min-height:730px}
.p-status{display:flex;justify-content:space-between;align-items:center;padding:12px 22px 6px;font-size:12px;font-weight:600;color:var(--ink)}
.p-status .notch{width:98px;height:24px;background:#2B2226;border-radius:999px;margin:-4px auto 0}
.p-head{background:var(--grad-brand);border-radius:0 0 30px 30px;padding:14px 18px 18px;color:#fff;position:relative;overflow:hidden}
.p-head::before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.13);top:-90px;right:-50px}
.p-head .t{font-size:18px;font-weight:700;position:relative;z-index:1}
.p-head .s{font-size:11.5px;opacity:.9;margin-top:3px;position:relative;z-index:1}
.p-body{padding:14px 14px 20px;flex:1;display:flex;flex-direction:column;gap:12px}
.p-tabbar{display:flex;background:#fff;border-top:1px solid var(--line);padding:7px 0 16px;position:relative;z-index:2}
.p-tabbar .tb{flex:1;text-align:center;font-size:10px;color:var(--g3)}
.p-tabbar .tb i{display:block;font-style:normal;font-size:19px;margin-bottom:2px}
.p-tabbar .tb.on{color:var(--brand);font-weight:700}

/* C端组件 */
.glass{background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:0 4px 18px rgba(254,68,109,.08)}
.glass-pad{padding:14px}
.ed-title{display:flex;align-items:baseline;gap:8px;padding:2px 2px 0}
.ed-title .no{font-size:11px;font-weight:800;color:var(--brand);letter-spacing:1px}
.ed-title .t{font-size:15.5px;font-weight:800;color:var(--ink)}
.ed-title .en{font-size:9.5px;color:var(--g4);letter-spacing:1.5px}
.ed-title .data{margin-left:auto;font-size:11px;color:var(--ink-2)}
.stat-line{display:flex;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 4px}
.stat-line .st{flex:1;text-align:center;border-right:1px solid var(--line-admin)}
.stat-line .st:last-child{border-right:0}
.stat-line b{display:block;font-size:17px;color:var(--brand-deep);font-weight:800}
.stat-line span{font-size:10.5px;color:var(--g3)}
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.quick .q{text-align:center;padding:10px 2px;background:#fff;border:1px solid var(--line);border-radius:12px}
.quick .q i{font-style:normal;display:block;width:34px;height:34px;line-height:34px;margin:0 auto 6px;border-radius:11px;background:var(--grad-brand);color:#fff;font-size:16px}
.quick .q em{font-style:normal;font-size:10.5px;color:var(--ink);display:block}
.quick .q span{font-size:9px;color:var(--g4);display:block;margin-top:2px}
.btn{display:inline-block;background:var(--grad-brand);color:#fff;font-size:13.5px;font-weight:700;border-radius:var(--r-btn);padding:11px 22px;border:0;text-align:center}
.btn-block{display:block;width:100%}
.btn-ghost{background:#fff;color:var(--brand-deep);border:1.5px solid var(--brand)}
.btn-sm{font-size:11.5px;padding:6px 13px;border-radius:7px}
.chip{display:inline-block;font-size:10.5px;border-radius:999px;padding:3px 9px;background:#fff;border:1px solid var(--line);color:var(--ink-2);margin-right:6px}
.chip.on{background:var(--brand);border-color:var(--brand);color:#fff}
.tagv{display:inline-block;font-size:9.5px;border-radius:5px;padding:2px 6px;font-weight:600;margin-right:5px}
.tagv.real{background:#FFF1E8;color:#C93E28}
.tagv.edu{background:#E8F1FF;color:#2E5BBA}
.tagv.house{background:#E9F8F1;color:#0E7C55}
.tagv.car{background:#F4EFFF;color:#6B3FD4}
.tagv.vip{background:linear-gradient(135deg,#FE446D,#FF7E9E);color:#fff}
.tagv.ok{background:#E9F8F1;color:var(--ok)}
.tagv.wait{background:#FFF6E9;color:var(--warn)}
.avatar{border-radius:50%;background:var(--grad-brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}
.card-list .rowc{display:flex;gap:11px;padding:11px;border-bottom:1px dashed var(--line);align-items:center}
.card-list .rowc:last-child{border-bottom:0}
.p-info{display:flex;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.p-info .kv{width:33.33%;padding:9px 6px;text-align:center;border-bottom:1px solid #F6EDF0}
.p-info .kv:nth-child(-n+6){border-bottom:1px solid #F6EDF0}
.p-info .kv em{font-style:normal;display:block;font-size:9.5px;color:var(--g4)}
.p-info .kv b{font-size:12px;color:var(--ink)}
.vipcard{background:var(--grad-sweet);border-radius:var(--r-card-lg);color:#fff;padding:18px;position:relative;overflow:hidden}
.vipcard::before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.22);top:-60px;right:-40px}
.vipcard::after{content:"";position:absolute;width:200px;height:44px;background:rgba(255,255,255,.16);transform:rotate(-18deg);top:58px;left:-46px;border-radius:999px}
.form-row{background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px 13px;margin-bottom:9px}
.form-row label{font-size:11px;color:var(--g3);display:block;margin-bottom:5px}
.form-row .val{font-size:14px;color:var(--ink);font-weight:600}
.form-row .ph{font-size:13px;color:var(--g4)}
.stepper{display:flex;align-items:center;gap:7px;padding:4px 2px 10px}
.stepper .sp{flex:1;height:4px;border-radius:99px;background:#F3DCE3}
.stepper .sp.on{background:var(--grad-brand)}
.stepper .sn{width:22px;height:22px;border-radius:50%;background:#F3DCE3;color:var(--g4);font-size:11px;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}
.stepper .sn.on{background:var(--grad-brand);color:#fff}
.empty-tip{border:1.5px dashed var(--coral);border-radius:12px;padding:16px;text-align:center;color:var(--ink-2);font-size:12px;background:rgba(255,255,255,.55)}
.msg-item{display:flex;gap:10px;align-items:flex-start;padding:11px 10px;border-bottom:1px solid #F6EDF0;background:#fff;border-radius:12px;margin-bottom:8px}
.msg-item .dot{width:8px;height:8px;border-radius:50%;background:var(--brand);position:absolute;margin-left:34px;margin-top:-4px}
.huxuan-prog{height:7px;border-radius:99px;background:#F6E3EA;overflow:hidden}
.huxuan-prog i{display:block;height:100%;background:var(--grad-brand);border-radius:99px}

/* ---------- PC 官网画板 ---------- */
.pc{width:1200px;background:var(--bg-pink);border-radius:18px;border:8px solid #2B2226;overflow:hidden;position:relative;box-shadow:0 18px 44px rgba(43,34,38,.14);flex-shrink:0}
.pc::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:var(--halo-a);top:-260px;left:-140px;pointer-events:none}
.pc::after{content:"";position:absolute;width:620px;height:620px;border-radius:50%;background:var(--halo-b);top:-200px;right:-220px;pointer-events:none}
.pc-nav{position:relative;z-index:2;display:flex;align-items:center;gap:30px;background:rgba(255,255,255,.82);backdrop-filter:blur(12px);padding:0 34px;height:62px;border-bottom:1px solid var(--line)}
.pc-nav .logo{display:flex;align-items:center;gap:9px;font-size:19px;font-weight:800;color:var(--ink)}
.logo-img{width:38px;height:38px;border-radius:11px;background-size:cover;background-position:center}
.pc-nav a{font-size:14px;color:var(--ink-2);text-decoration:none}
.pc-nav a.on{color:var(--brand-deep);font-weight:700}
.pc-nav .sp{flex:1}
.pc-hero{position:relative;z-index:1;padding:66px 60px 58px;display:flex;gap:40px;align-items:center}
.pc-hero h1{font-size:40px;line-height:1.35;color:var(--ink);font-weight:800}
.pc-hero h1 b{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.pc-hero p{margin:16px 0 26px;font-size:14.5px;color:var(--ink-2);line-height:2}
.pc-sec{position:relative;z-index:1;padding:40px 60px 50px}
.pc-sec .ed-title{margin-bottom:18px}
.pc-sec .ed-title .t{font-size:21px}
.footer-grad{background:var(--grad-brand);color:#fff;padding:34px 60px;display:flex;gap:50px;font-size:12.5px;position:relative;z-index:1}
.footer-grad .foot-inner{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:40px;align-items:start}
.footer-grad b{display:block;font-size:15px;margin-bottom:10px}
.footer-grad p{opacity:.88;line-height:2}
.member-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.mcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}
.mcard .ph{height:150px;background:var(--grad-brand);display:flex;align-items:center;justify-content:center;color:#fff;font-size:34px;font-weight:800;position:relative}
.mcard .bd{padding:12px 14px}
.mcard .nm{font-size:15px;font-weight:700}
.mcard .mt{font-size:11.5px;color:var(--g3);margin:4px 0 8px}
.rank-row{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid #F6EDF0}
.rank-row:last-child{border-bottom:0}
.rank-row .rk{width:22px;font-size:15px;font-weight:800;color:var(--brand);text-align:center}
.rank-row .rk.n{color:var(--g4)}
.datebar{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 16px;margin-bottom:10px}
.datebar .dt{width:52px;text-align:center;background:var(--bg-pink);border-radius:10px;padding:7px 0;flex-shrink:0}
.datebar .dt b{display:block;font-size:17px;color:var(--brand-deep)}
.datebar .dt span{font-size:10px;color:var(--g4)}
.numlist{counter-reset:n}
.numlist .nl{display:flex;gap:14px;padding:13px 4px;border-bottom:1px solid #F1E7EB;align-items:flex-start}
.numlist .nl:last-child{border-bottom:0}
.numlist .nl::before{counter-increment:n;content:"0" counter(n);font-size:20px;font-weight:800;color:var(--coral);line-height:1.2}

/* ---------- 后台画板（白灰高对比） ---------- */
.adm{width:1240px;background:var(--bg-admin);border-radius:18px;border:8px solid #23262B;overflow:hidden;display:flex;box-shadow:0 18px 44px rgba(35,38,43,.16);flex-shrink:0;position:relative}
.adm-side{width:216px;background:var(--side-admin);border-right:1px solid var(--line-admin);padding:18px 12px;flex-shrink:0}
.adm-side .brand{display:flex;align-items:center;gap:9px;padding:4px 8px 18px}
.adm-side .brand .logo-img{width:32px;height:32px;border-radius:9px}
.adm-side .brand span{font-size:15.5px;font-weight:800;color:var(--g1)}
.adm-menu .mi{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--g3);padding:9px 12px;border-radius:8px;margin-bottom:2px}
.adm-menu .mi i{font-style:normal;font-size:15px;width:18px;text-align:center}
.adm-menu .mi.on{background:#fff;color:var(--brand);font-weight:700;box-shadow:0 2px 8px rgba(31,35,41,.08);position:relative}
.adm-menu .mi.on::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:99px;background:var(--brand)}
.adm-main{flex:1;min-width:0}
.adm-top{display:flex;align-items:center;gap:16px;background:#fff;border-bottom:1px solid var(--line-admin);padding:0 22px;height:54px}
.adm-top .crumb{font-size:13px;color:var(--g3)}
.adm-top .crumb b{color:var(--g1)}
.adm-top .sp{flex:1}
.adm-search{font-size:12.5px;color:var(--g4);background:var(--bg-admin);border:1px solid var(--line-admin);border-radius:7px;padding:6px 14px;width:190px}
.adm-body{padding:20px 22px 26px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}
.kpis.hero{grid-template-columns:1.6fr 1fr 1fr 1fr}
.kpi{background:#fff;border:1px solid var(--line-admin);border-radius:10px;padding:16px}
.kpi.big{display:flex;flex-direction:column;justify-content:center}
.kpi .lb{font-size:12px;color:var(--g3)}
.kpi .v{font-size:26px;font-weight:800;color:var(--g1);margin-top:6px}
.kpi.big .v{font-size:38px}
.kpi .delta{font-size:11.5px;margin-top:6px;font-weight:600}
.kpi .up{color:var(--ok)} .kpi .down{color:var(--err)}
.kpi .sub{font-size:11px;color:var(--g4);margin-top:4px}
.apanel{background:#fff;border:1px solid var(--line-admin);border-radius:10px;margin-bottom:14px}
.apanel .hd{display:flex;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line-admin)}
.apanel .hd b{font-size:14px;color:var(--g1)}
.apanel .hd .ext{margin-left:auto;font-size:12px;color:var(--g3)}
.apanel .bd{padding:14px 16px}
.atable{width:100%;border-collapse:collapse;font-size:12.5px}
.atable th{background:var(--bg-admin);color:var(--g3);text-align:left;padding:9px 12px;font-weight:600;border-bottom:1px solid var(--line-admin);white-space:nowrap}
.atable td{padding:10px 12px;border-bottom:1px solid #F0F1F3;color:var(--g2);white-space:nowrap}
.atable tr:nth-child(even) td{background:#FAFBFC}
.atable tr:hover td{background:#F6F8FA}
.atable td b{color:var(--g1)}
.abadge{display:inline-block;font-size:11px;border-radius:5px;padding:2.5px 8px;font-weight:600}
.abadge.ok{background:#E9F8F1;color:var(--ok)}
.abadge.warn{background:#FFF6E9;color:var(--warn)}
.abadge.err{background:#FEEFEF;color:var(--err)}
.abadge.info{background:#EBF1FF;color:var(--info)}
.abadge.mute{background:#F0F1F3;color:var(--g3)}
.abtn{display:inline-block;font-size:12px;background:var(--brand);color:#fff;border-radius:7px;padding:6px 14px;font-weight:600}
.abtn.ghost{background:#fff;color:var(--g1);border:1px solid var(--line-admin)}
.abtn.dark{background:var(--g1)}
.afilter{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.afilter .f{font-size:12.5px;color:var(--g2);background:#fff;border:1px solid var(--line-admin);border-radius:7px;padding:7px 14px}
.afilter .f.on{background:var(--g1);color:#fff;border-color:var(--g1)}
.afilter .cnt{font-size:12px;color:var(--g4)}
.atabs{display:flex;gap:2px;border-bottom:1px solid var(--line-admin);margin-bottom:14px}
.atabs .at{font-size:13px;color:var(--g3);padding:9px 16px;border-bottom:2px solid transparent}
.atabs .at.on{color:var(--brand);font-weight:700;border-color:var(--brand)}
.atodo{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.atodo .td{border-radius:10px;padding:15px;color:#fff}
.atodo .td b{font-size:24px;display:block}
.atodo .td span{font-size:12px;opacity:.9}
.atodo .td.rose{background:linear-gradient(135deg,#FE446D,#FF7E9E)}
.atodo .td.amber{background:linear-gradient(135deg,#FF8F1F,#FFB661)}
.atodo .td.blue{background:linear-gradient(135deg,#3370FF,#6E9BFF)}
.bars{display:flex;align-items:flex-end;gap:10px;height:130px;padding:8px 4px 0}
.bars .bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%}
.bars .bar i{display:block;width:70%;background:var(--brand);border-radius:5px 5px 0 0}
.bars .bar.m i{background:var(--g1)}
.bars .bar span{font-size:10.5px;color:var(--g4)}
.donut{width:120px;height:120px;border-radius:50%;background:conic-gradient(var(--brand) 0 62%,var(--g4) 62% 85%,var(--line-admin) 85% 100%);position:relative;flex-shrink:0}
.donut::before{content:"";position:absolute;inset:26px;background:#fff;border-radius:50%}
.donut b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:17px;color:var(--g1)}
.legend{font-size:12px;color:var(--g3);line-height:2.1}
.legend i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:7px;vertical-align:0}
.map-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.map-grid .mg{background:#fff;border:1px solid var(--line-admin);border-radius:9px;padding:12px}
.map-grid .mg b{display:block;font-size:13px;color:var(--g1);margin-bottom:7px}
.map-grid .mg span{display:inline-block;font-size:11px;color:var(--g3);background:var(--bg-admin);border-radius:5px;padding:3px 8px;margin:0 5px 5px 0}
.permtree{font-size:12.5px;color:var(--g2);line-height:2.2}
.permtree b{color:var(--g1)}
.chk{display:inline-block;width:14px;height:14px;border-radius:4px;border:1.5px solid var(--line-admin);vertical-align:-2px;margin-right:7px}
.chk.on{background:var(--brand);border-color:var(--brand);position:relative}
.chk.on::after{content:"✓";color:#fff;font-size:10px;position:absolute;line-height:13px;width:100%;text-align:center}
.doc-footer{margin-top:56px;padding:26px 30px;background:#fff;border-radius:var(--r-card);font-size:12.5px;color:var(--g3);line-height:2.1;border:1px solid var(--line-admin)}

/* ---- 分页拆分包附加样式 ---- */
.pagebar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:13px;color:#646A73;background:#fff;border:1px solid #E5E6EB;border-radius:10px;padding:12px 18px;margin-bottom:18px}
.pagebar a{color:#E2235B;text-decoration:none;font-weight:700}
.pagebar b{color:#1F2329}
.pagenav{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:10px;flex-wrap:wrap}
.pagenav a{font-size:13px;color:#E2235B;text-decoration:none;font-weight:600;background:#fff;border:1px solid #E5E6EB;border-radius:9px;padding:10px 18px}
.pagenav a.home{color:#646A73}
.pagenav span{font-size:12px;color:#8F959E}
.idx-group{margin-bottom:26px}
.idx-group h3{font-size:15px;color:#1F2329;margin:0 0 12px;padding-left:12px;border-left:4px solid #FE446D;line-height:1.4}
.idx-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #E5E6EB;border-radius:9px;padding:11px 16px;margin-bottom:8px;text-decoration:none}
.idx-item:hover{border-color:#FE446D}
.idx-item .no{font-size:12px;font-weight:800;color:#E2235B;background:#FFF0F4;border-radius:6px;padding:3px 8px;flex-shrink:0}
.idx-item .nm{font-size:14px;font-weight:700;color:#1F2329}
.idx-item .en{font-size:11.5px;color:#8F959E}
.idx-item .tag{margin-left:auto;font-size:12px;color:#646A73;text-align:right}

/* ============================================================
   真实系统适配层（jiyu-ui v1.7.0 复刻自《三端UI设计-分页交接包》）
   剥离设计稿画板展示壳：.pc/.phone/.adm 由固定画板改为真实页面容器
   ============================================================ */
html,body{margin:0;padding:0}
body{background:var(--bg-pink)}
.pc{width:100%;max-width:1200px;margin:0 auto;border:none;border-radius:0;box-shadow:none;flex-shrink:none;min-height:100vh}
.phone{width:100%;max-width:480px;margin:0 auto;border:none;border-radius:0;box-shadow:none;min-height:100vh}
.pc-nav{position:sticky;top:0}
a{cursor:pointer}
img{max-width:100%}
/* 页面级功能件（toast/徽章/喜讯/悬浮栏） */
#toast{display:none;position:fixed;left:50%;top:18%;transform:translateX(-50%);background:rgba(43,34,38,.88);color:#fff;font-size:13px;padding:10px 22px;border-radius:10px;z-index:9999}
.nav-badge{display:none;min-width:16px;height:16px;background:var(--brand);color:#fff;border-radius:999px;font-size:10px;font-weight:700;align-items:center;justify-content:center;padding:0 4px;margin-left:4px}
.ticker-bar{position:relative;z-index:2;background:rgba(255,240,244,.92);border-bottom:1px solid var(--line);overflow:hidden;height:36px;display:flex;align-items:center}
.ticker-bar .tk-label{flex-shrink:0;font-size:12px;font-weight:800;color:var(--brand-deep);padding:0 16px;display:flex;align-items:center;gap:6px}
.ticker-track{display:flex;gap:44px;white-space:nowrap;animation:tkmove 26s linear infinite;font-size:12.5px;color:var(--ink-2)}
.ticker-item{display:inline-flex;align-items:center;gap:6px}
.ticker-item::before{content:"❤";font-size:9px;color:var(--brand)}
@keyframes tkmove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.fixed_nav{position:fixed;right:18px;bottom:70px;z-index:80;display:flex;flex-direction:column;gap:10px}
.fixed_nav .fn{width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 4px 14px rgba(254,68,109,.12);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--brand-deep);cursor:pointer;position:relative}
.fixed_nav .fn:hover .fn-box{display:block}
.fixed_nav .fn-box{display:none;position:absolute;right:54px;top:0;width:150px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(43,34,38,.14);padding:10px;text-align:center;font-size:11.5px;color:var(--ink-2)}
.fixed_nav .fn-box img{width:110px;height:110px;object-fit:cover;border-radius:8px;margin-bottom:6px}
/* 表单行内真实控件 */
.form-row input[type=tel],.form-row input[type=text]{border:none;outline:none;font-size:14px;font-weight:600;color:var(--ink);width:100%;background:transparent}
.form-row input:focus{outline:none}
.form-row select{border:none;background:transparent;font-size:13.5px;font-weight:600;color:var(--ink);outline:none;width:100%;appearance:none;-webkit-appearance:none}
.code-row{display:flex;gap:8px;align-items:center}
.code-row input{flex:1}
.code-row .btn-sm{flex-shrink:0}
.btn:disabled{opacity:.55;cursor:not-allowed}
.chip-btn{display:inline-block;font-size:12px;border-radius:999px;padding:6px 16px;background:#fff;border:1px solid var(--line);color:var(--ink-2);cursor:pointer}
.chip-btn.on{background:var(--brand);border-color:var(--brand);color:#fff}
.qe-chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-2);background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:999px;padding:8px 18px;cursor:pointer;text-decoration:none}
.qe-chip b{color:var(--brand-deep)}
.qe-chip:hover{border-color:var(--brand);color:var(--brand-deep)}
/* 注册成功卡 */
.form-ok{text-align:center;padding:26px 22px}
.form-ok .ok-t{font-size:19px;font-weight:800;color:var(--ink);margin-top:8px}
.form-ok .ok-d{font-size:12.5px;color:var(--ink-2);line-height:1.9;margin:8px 0 16px}
.form-ok .btn-go{display:block;margin-top:10px}
/* 会员网格（真实数据渲染区） */
.member-grid .mcard{cursor:pointer;transition:transform .18s,box-shadow .18s}
.member-grid .mcard:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(254,68,109,.16)}
.mcard .ph img{width:100%;height:100%;object-fit:cover}
.mcard .bd a{color:var(--ink);text-decoration:none}
/* 无障碍：焦点描边 */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
/* 数据看板等后台页容器（预留） */
.adm{width:100%;border:none;border-radius:0;box-shadow:none}

/* ===== v1.6.8 PC 微交互深化层（纯过渡态，不改颜色布局）===== */
/* 卡片：悬停轻浮 + 影子过渡 */
.card{transition:transform .22s var(--ease),box-shadow .22s var(--ease)}
.card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(254,68,109,.14)}
.card:active{transform:translateY(-1px)}
/* 主按钮系：悬停提亮上浮 + 按压回弹 */
.btn,.btn-pink,.btn-grad,.btn-go,.btn-cp,.btn-primary,.btn-sign{transition:transform .16s var(--ease),box-shadow .16s var(--ease),filter .16s var(--ease)}
.btn:hover,.btn-pink:hover,.btn-grad:hover,.btn-go:hover,.btn-cp:hover,.btn-primary:hover,.btn-sign:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 8px 20px rgba(254,68,109,.26)}
.btn:active,.btn-pink:active,.btn-grad:active,.btn-go:active,.btn-cp:active,.btn-primary:active,.btn-sign:active{transform:scale(.97);box-shadow:0 3px 10px rgba(254,68,109,.2)}
/* 幽灵/灰按钮：悬停边框加深 + 底色微变 */
.btn-ghost,.btn-grey{transition:transform .16s var(--ease),border-color .16s var(--ease),background .16s var(--ease)}
.btn-ghost:hover,.btn-grey:hover{border-color:var(--brand);transform:translateY(-1px)}
.btn-ghost:active,.btn-grey:active{transform:scale(.97)}
/* 小按钮不位移，只提亮 */
.btn-sm:hover{transform:none;filter:brightness(1.06)}
/* 链接与 chips 颜色过渡 */
a{transition:color .16s var(--ease)}
.chip,.qe-chip{transition:border-color .16s var(--ease),color .16s var(--ease),background .16s var(--ease)}
/* 输入控件：悬停边框 + 聚焦光环 */
input[type=text],input[type=tel],input[type=number],input[type=password],select,textarea{transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}
input[type=text]:hover,input[type=tel]:hover,input[type=number]:hover,input[type=password]:hover,select:hover,textarea:hover{border-color:#FFB3C6}
input[type=text]:focus,input[type=tel]:focus,input[type=number]:focus,input[type=password]:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(254,68,109,.14)}
/* 表格行过渡 */
.atable tr td{transition:background .15s var(--ease)}
/* 减少动画偏好：关闭位移类动效 */
@media (prefers-reduced-motion: reduce){
  .card,.btn,.btn-pink,.btn-grad,.btn-go,.btn-cp,.btn-primary,.btn-sign,.btn-ghost,.btn-grey{transition:none}
  .card:hover,.btn:hover,.btn-pink:hover,.btn-grad:hover,.btn-go:hover,.btn-cp:hover,.btn-primary:hover,.btn-sign:hover,.btn-ghost:hover,.btn-grey:hover{transform:none}
  .ticker-track{animation:none}
}

/* ===== M12 定稿 Token（ch2 浪漫线 · 整块复制）+ legacy alias ===== */
:root{
  --c-primary:#FF4D6D; --c-primary-hover:#F0355A;
  --grad-cta:linear-gradient(135deg,#FF8AAB,#FF5A7E);
  --tint-primary:#FFF0F4;
  --accent-mint:#3ED5A8; --accent-mint-deep:#0E8A66;
  --accent-sky:#5EB8FF; --accent-sky-deep:#0B7FBF;
  --accent-lemon:#FFC53D; --accent-lemon-deep:#8A6200;
  --accent-lavender:#B9A7FF; --accent-lavender-deep:#6C55D4;
  --bg-page:#FFF9FA; --bg-card:#FFFFFF;
  --radius-card:16px; --radius-pill:999px;
  --shadow-card-c:0 4px 16px rgba(255,77,109,0.08);
  --text-primary:#1A1A1E; --text-secondary:#5A6270; --text-disabled:#808898;
  --mask:rgba(26,26,30,0.55);
  --font-family:-apple-system,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",sans-serif;
  --space-unit:8px;
  /* legacy alias（旧变量名 → 定稿值，保证存量规则即刻 Token 化） */
  --pink:#FF4D6D; --pink-1:#FF8AAB; --pink-2:#FF5A7E; --pink-from:#FF8AAB; --pink-to:#FF5A7E;
  --pink-tint:#FFF0F4; --pink-line:#FFD0DC; --pink-bg:#FFF9FA; --pink-deep:#F0355A;
  --txt:#1A1A1E; --txt-2:#5A6270; --txt-3:#808898; --txt-4:#808898; --txt-gray:#5A6270;
  --brand:#FF4D6D; --brand-deep:#F0355A; --grad-brand:linear-gradient(135deg,#FF8AAB,#FF5A7E);
}
