
  *{margin:0;padding:0;box-sizing:border-box}
  html{-webkit-text-size-adjust:100%}
  body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.75;color:#111111;background:#fff}
  .num{font-family:Georgia,"Times New Roman",serif}
  .wrap{max-width:480px;margin:0 auto;padding:0 20px}
  .screen{display:none;min-height:100vh;padding-bottom:40px}
  .screen.on{display:block}
  .topbar{height:5px;background:#C41230}
  .badge-demo{display:inline-block;font-size:12.5px;color:#62656E;background:#F7F7F9;border:1px solid #E5E6EB;border-radius:6px;padding:2px 10px;margin-top:10px}
  h1{font-size:34px;line-height:1.35;font-weight:800;margin-top:28px}
  h1 .x{color:#C41230}
  .lede{font-size:16.5px;color:#3D4048;margin-top:12px}
  .kicker{font-size:13.5px;letter-spacing:.2em;color:#C41230;font-weight:600;margin-top:24px}
  .card{border:1px solid #E9EAEE;border-radius:20px;padding:22px 20px;box-shadow:0 12px 32px rgba(18,20,26,.07);background:#fff;margin-top:16px}
  .roles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
  .role{border:1.5px solid #E9EAEE;border-radius:16px;padding:18px 14px;text-align:center;background:#fff;position:relative}
  .role .ic{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border:1.5px solid #C41230;border-radius:10px;background:#fff;color:#C41230;font-size:21px;font-weight:800;line-height:1;letter-spacing:0}
  .role b{display:block;font-size:17px;margin-top:6px}
  .role small{display:block;font-size:12.5px;color:#62656E;margin-top:2px}
  .role.hot{border-color:#C41230;box-shadow:0 12px 32px rgba(196,18,48,.10)}
  .role.dim2{opacity:.55}
  .role .tag{position:absolute;top:8px;right:8px;font-size:12.5px;color:#fff;background:#62656E;border-radius:6px;padding:1px 7px}
  .role.hot .tag{background:#C41230}
  .btn{display:block;width:100%;border:none;border-radius:8px;padding:15px 0;font-size:17px;font-weight:700;background:#C41230;color:#fff;margin-top:18px;cursor:pointer}
  .btn.ghost{background:#fff;color:#C41230;border:1.5px solid #C41230}
  .btn.gray{background:#F7F7F9;color:#3D4048;border:1px solid #E5E6EB;font-weight:600}
  .btn:disabled{opacity:.4}
  .note{font-size:13px;color:#62656E;margin-top:12px}
  .flush-top{margin-top:0}
  .intro-wipe{margin-top:12px}
  .section-title{font-size:28px}
  .label-title{font-size:16px}
  .tag-note{margin-top:6px}
  [hidden]{display:none!important}
  .pbar{height:8px;background:#F0F1F3;border-radius:4px;overflow:hidden;margin-top:18px}
  .pbar progress{display:block;width:100%;height:100%;border:0;appearance:none;background:#F0F1F3}
  .pbar progress::-webkit-progress-bar,.repdim .bar::-webkit-progress-bar{background:#F0F1F3}
  .pbar progress::-webkit-progress-value,.repdim .bar::-webkit-progress-value{background:#C41230;border-radius:4px}
  .pbar progress::-moz-progress-bar,.repdim .bar::-moz-progress-bar{background:#C41230;border-radius:4px}
  .qmeta{font-size:13px;color:#62656E;margin-top:10px;display:flex;justify-content:space-between}
  .qtext{font-size:20px;font-weight:700;line-height:1.6;margin-top:8px}
  .opts{margin-top:18px;display:flex;flex-direction:column;gap:10px}
  .opt{border:1.5px solid #E5E6EB;border-radius:8px;padding:13px 16px;font-size:16.5px;text-align:left;background:#fff;cursor:pointer;line-height:1.5}
  .opt:active{background:#F7F7F9;border-color:#C41230}
  .opt .L{display:inline-block;min-width:26px;height:26px;border-radius:6px;background:#F7F7F9;color:#62656E;font-size:14px;font-weight:700;text-align:center;line-height:26px;margin-right:10px}
  .quick{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .quick .opt{padding:22px 12px;text-align:center;font-size:17px;font-weight:700}
  .field{margin-top:16px}
  .field label{font-size:14px;color:#3D4048;font-weight:600;display:block;margin-bottom:6px}
  .field input,.field select{width:100%;border:1.5px solid #E5E6EB;border-radius:8px;padding:12px 14px;font-size:16px;background:#fff;color:#111111}
  .field .hint{font-size:12.5px;color:#62656E;margin-top:4px}
  .rankbox{text-align:center;margin-top:8px}
  .rankname{font-size:40px;font-weight:800;letter-spacing:.06em;margin-top:8px}
  .scorebig{font-size:64px;font-weight:700;color:#C41230;line-height:1.1;margin-top:6px}
  .scorebig em{font-style:normal;font-size:20px;color:#62656E;margin-left:4px}
  .duo{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
  .duo .cell{background:#F7F7F9;border-radius:8px;padding:12px 8px;text-align:center}
  .duo .cell b{font-size:26px;display:block}
  .duo .cell span{font-size:13px;color:#62656E}
  .pill{display:inline-block;background:#C41230;color:#fff;font-size:15px;font-weight:700;border-radius:6px;padding:4px 16px;margin-top:16px}
  .persona{font-size:16.5px;font-weight:600;margin-top:10px;line-height:1.7}
  .radar{margin:18px auto 4px;display:block}
  .advice{background:#F7F7F9;border-radius:8px;padding:14px 16px;font-size:15px;color:#3D4048;margin-top:16px}
  .advice b{color:#C41230}
  .gapcard{border:1.5px solid #C41230;border-radius:16px;padding:18px 18px 12px;margin-top:18px}
  .gapcard h3{font-size:15px;color:#C41230;font-weight:800;letter-spacing:.05em}
  .gapcard p{font-size:15px;color:#3D4048;margin-top:8px}
  .disc{font-size:12.5px;color:#62656E;margin-top:16px;text-align:center}
  .btncol{margin-top:8px}
  .btncol .btn{margin-top:12px}
  .modal{position:fixed;inset:0;background:rgba(20,21,24,.55);display:none;align-items:flex-end;z-index:9}
  .modal.on{display:flex}
  .sheet{background:#fff;border-radius:20px 20px 0 0;width:100%;max-width:480px;margin:0 auto;padding:24px 20px 40px}
  .sheet h3{font-size:19px;font-weight:800}
  .chk{display:flex;align-items:flex-start;gap:10px;margin-top:14px;font-size:14px;color:#3D4048;background:#F7F7F9;border-radius:8px;padding:12px 14px}
  .chk input{width:18px;height:18px;margin-top:3px}
  .repdim{margin-top:16px}
  .repdim .row{display:flex;justify-content:space-between;font-size:15px;font-weight:600}
  .repdim .bar{display:block;width:100%;height:8px;border:0;appearance:none;background:#F0F1F3;border-radius:4px;margin-top:6px;overflow:hidden}
  .repdim p{font-size:14px;color:#62656E;margin-top:6px}
  .toast{position:fixed;left:50%;bottom:88px;transform:translateX(-50%);background:#111111;color:#fff;font-size:14px;border-radius:8px;padding:10px 18px;opacity:0;transition:opacity .25s;pointer-events:none;max-width:86vw;text-align:center;z-index:99}
  .toast.on{opacity:.95}
  .cardimg{width:100%;border:1px solid #E9EAEE;border-radius:12px;margin-top:14px}
  .fin{font-size:12.5px;color:#62656E;margin-top:28px;text-align:center}
  .backbtn{margin-top:14px;width:100%;border:none;background:none;color:#62656E;font-size:14.5px;text-align:center;cursor:pointer;padding:8px 0}
  .backbtn:disabled{opacity:.35}
  .tagbox{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
  .ptag{border:1.5px solid #E5E6EB;border-radius:8px;padding:9px 14px;font-size:15px;background:#fff;color:#3D4048;cursor:pointer}
  .ptag.on{border-color:#C41230;color:#C41230;font-weight:700;background:#fff}
  .wxname{font-size:18px;font-weight:800;color:#111111;text-align:center;margin-top:12px}
  .wxservices{font-size:15px;color:#3D4048;text-align:center;margin-top:4px}
  .wxqr{width:220px;height:auto;border:1px solid #E5E6EB;border-radius:12px;margin:16px auto 0;display:block}
  .qr-note{text-align:center;margin-top:10px}
