/* ══════════════════════════════════════
   MBTI 深度版 · 人格全息 - 样式表
   主色调：深海蓝 + 银白 + 薄荷
   ══════════════════════════════════════ */

*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}

html,body{
  width:100%;height:100dvh;overflow:hidden;
  background:#080c14;
  font-family:'Georgia','Noto Serif SC','Songti SC',serif;
  display:flex;align-items:center;justify-content:center;
}

.app{
  width:100%;max-width:420px;
  height:100dvh;max-height:900px;
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,#0a0e1a 0%,#0d1220 50%,#0a0e1a 100%);
  box-shadow:0 0 80px rgba(40,80,160,.2);
}
@media(max-width:767px){.app{max-height:100dvh;box-shadow:none}}

/* ── 页面切换 ── */
.page{
  position:absolute;top:0;left:0;width:100%;height:100%;
  display:flex;flex-direction:column;
  opacity:0;pointer-events:none;
  transition:opacity .38s ease;
}
.page.active{opacity:1;pointer-events:auto}

/* ── 封面 ── */
#cover{
  align-items:center;justify-content:center;
  padding:0 28px;text-align:center;
  background:radial-gradient(ellipse 80% 50% at 50% 10%,rgba(30,60,120,.5) 0%,transparent 70%);
}
.c-eyebrow{
  font-family:'Helvetica Neue',sans-serif;font-size:10px;letter-spacing:5px;
  text-transform:uppercase;color:rgba(180,200,220,.35);margin-bottom:28px;
}
.c-title{font-size:46px;font-weight:400;letter-spacing:10px;line-height:1.15;color:#cdd8e4;margin-bottom:18px}
.c-sub{font-size:13px;line-height:2.1;color:rgba(180,200,220,.5);margin-bottom:10px;max-width:280px}
.c-rule{width:28px;height:1px;background:rgba(255,255,255,.1);margin:22px auto}
.c-dims{display:flex;gap:12px;justify-content:center;margin-bottom:20px}
.c-dim{
  font-family:'Helvetica Neue',sans-serif;font-size:11px;letter-spacing:2px;
  color:rgba(180,200,220,.3);padding:5px 10px;
  border:1px solid rgba(255,255,255,.06);border-radius:4px;
}
.c-stats{
  display:flex;gap:24px;justify-content:center;margin-bottom:18px;
}
.c-stat{display:flex;flex-direction:column;align-items:center;gap:4px}
.c-stat-num{
  font-family:'Helvetica Neue',sans-serif;font-size:22px;font-weight:700;
  color:rgba(180,200,220,.7);letter-spacing:1px;
}
.c-stat-label{
  font-family:'Helvetica Neue',sans-serif;font-size:9px;letter-spacing:2px;
  color:rgba(180,200,220,.25);text-transform:uppercase;
}
.c-tagline{font-family:'Helvetica Neue',sans-serif;font-size:10px;letter-spacing:3px;color:rgba(180,200,220,.18);margin-bottom:28px}
.btn-start{
  font-family:'Helvetica Neue',sans-serif;font-size:11px;letter-spacing:5px;text-transform:uppercase;
  color:#cdd8e4;background:transparent;border:1px solid rgba(255,255,255,.15);
  padding:16px 52px;border-radius:1px;cursor:pointer;transition:all .3s;
}
.btn-start:hover{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.32)}

/* ── 全部测试按钮 ── */
.btn-all-tests{
  position:absolute;top:max(env(safe-area-inset-top,0px),16px);left:16px;
  font-family:'Helvetica Neue',sans-serif;font-size:11px;letter-spacing:1px;
  color:rgba(180,200,220,.7);background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);border-radius:20px;
  padding:8px 14px;text-decoration:none;transition:all .25s;z-index:10;
}
.btn-all-tests:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.25);color:#fff}
.c-time{
  font-family:'Helvetica Neue',sans-serif;font-size:10px;letter-spacing:2px;
  color:rgba(180,200,220,.2);margin-top:16px;
}

/* ── 题目页 ── */
#quiz{flex-direction:column}
.q-top{
  flex-shrink:0;padding:env(safe-area-inset-top,24px) 22px 0;
  padding-top:max(env(safe-area-inset-top,0px),24px);
}
.q-toprow{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.progress-bar{height:2px;background:rgba(255,255,255,.08);border-radius:1px;overflow:hidden;margin-bottom:6px}
.progress-fill{height:100%;background:linear-gradient(90deg,#4a90d9,#5fc8b4);transition:width .2s ease;border-radius:1px}
.progress-num{
  font-family:'Helvetica Neue',sans-serif;font-size:9px;letter-spacing:2px;
  color:rgba(180,200,220,.22);text-align:right;
}

.q-content{
  flex:1;display:flex;flex-direction:column;padding:28px 22px 20px;
  overflow-y:auto;scrollbar-width:none;
  opacity:1;transform:translateY(0);
  transition:opacity .28s ease, transform .28s ease;
}
.q-content::-webkit-scrollbar{display:none}
.q-content.fade-out{opacity:0;transform:translateY(-10px);pointer-events:none}
.q-content.fade-in{opacity:1;transform:translateY(0)}

.q-num{font-family:'Helvetica Neue',sans-serif;font-size:9px;letter-spacing:3px;color:rgba(180,200,220,.2);margin-bottom:14px}
.q-text{font-size:17px;line-height:1.85;letter-spacing:.3px;color:#cdd8e4;margin-bottom:26px;word-break:break-all}

.opts{display:flex;flex-direction:column;gap:8px}
.opt{
  display:flex;align-items:flex-start;gap:12px;
  padding:13px 15px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.07);
  border-radius:10px;cursor:pointer;text-align:left;
  transition:background .15s,border-color .15s,box-shadow .15s;
}
.opt:hover{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.14)}
.opt.selected{background:rgba(74,144,217,.2);border-color:rgba(74,144,217,.45);box-shadow:0 0 20px rgba(74,144,217,.2)}
.opt-k{font-family:'Helvetica Neue',sans-serif;font-size:10px;letter-spacing:1px;color:rgba(180,200,220,.32);padding-top:2px;flex-shrink:0;width:14px}
.opt-v{font-size:14px;line-height:1.7;color:rgba(180,200,220,.78);letter-spacing:.2px}

/* ── loading ── */
#loading{align-items:center;justify-content:center;flex-direction:column;gap:28px}
.loading-ring{width:90px;height:90px;border-radius:50%;overflow:hidden;display:flex;flex-shrink:0}
.loading-ring span{flex:1;animation:rp 2s ease-in-out infinite}
.loading-ring span:nth-child(1){background:#E8A87C}
.loading-ring span:nth-child(2){background:#7B68A3}
.loading-ring span:nth-child(3){background:#6FB3D2}
.loading-ring span:nth-child(4){background:#A8C97B}
@keyframes rp{0%,100%{opacity:.15}50%{opacity:1}}
.loading-txt{font-family:'Helvetica Neue',sans-serif;font-size:10px;letter-spacing:4px;color:rgba(180,200,220,.3)}

/* ── 结果视觉区 ── */
.r-visual{
  width:calc(100% - 40px);margin:20px auto 0;flex-shrink:0;position:relative;
  border-radius:16px;overflow:visible;
  box-shadow:
    0 0 0 1px rgba(100,160,220,.2),
    0 0 0 2px rgba(0,0,0,.6),
    0 0 0 3px rgba(100,160,220,.1),
    0 0 20px rgba(60,100,160,.15),
    0 12px 40px rgba(0,0,0,.7);
}
.r-visual-inner{border-radius:16px;overflow:hidden;position:relative;border:1px solid rgba(100,160,220,.15)}
#imgCanvas{display:block;width:100%;height:auto;border-radius:0}

/* 四维色条 */
.r-bar-spectrum{width:100%;height:8px;display:flex;gap:0;flex-shrink:0;overflow:hidden}
.r-bar-seg{flex:1;transition:background .5s}

/* 结果页可滚动 */
#result{flex-direction:column;align-items:center;overflow-y:auto;scrollbar-width:none}
#result::-webkit-scrollbar{display:none}

.r-body{width:100%;padding:0 22px 40px;max-width:420px}

.r-theme{padding:24px 0 20px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:20px}

.r-type-badge{
  text-align:center;margin-bottom:12px;
}
.r-type-badge .badge-inner{
  display:inline-block;padding:6px 20px;
  border:1px solid rgba(100,160,220,.25);border-radius:4px;
  font-family:'Helvetica Neue',sans-serif;font-size:18px;letter-spacing:6px;font-weight:600;
  color:rgba(180,200,220,.85);background:rgba(100,160,220,.08);
}

.r-name{
  font-family:'Noto Serif SC',serif;font-size:28px;letter-spacing:6px;font-weight:400;
  color:#cdd8e4;text-align:center;margin:8px 0 6px;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.r-name-icon{font-size:22px;opacity:.7;flex-shrink:0}
.r-sub{
  font-family:'Noto Serif SC',serif;font-size:14px;letter-spacing:1px;font-weight:300;
  color:rgba(180,200,220,.45);margin-bottom:18px;text-align:center;
}

/* 四维标签 */
.r-dim-tags{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;
  padding:14px 0;border-top:1px solid rgba(255,255,255,.06);
}
.r-dim-tag{
  display:flex;align-items:center;gap:8px;padding:8px 12px;
  border:1px solid rgba(255,255,255,.05);border-radius:6px;
  background:rgba(255,255,255,.015);
}
.r-dim-tag-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.r-dim-tag-text{
  font-family:'Helvetica Neue',sans-serif;font-size:11px;letter-spacing:1px;
  color:rgba(180,200,220,.6);
}
.r-dim-tag-pct{
  font-family:'Helvetica Neue',sans-serif;font-size:11px;font-weight:600;
  color:rgba(180,200,220,.8);margin-left:auto;
}

/* 免费预览 */
.r-preview{font-size:14px;line-height:2.15;letter-spacing:.4px;color:rgba(180,200,220,.58);margin-bottom:28px}
.r-preview p{margin:0 0 12px}

/* ── 付费墙 ── */
.paywall{
  position:relative;margin-bottom:28px;
  background:linear-gradient(180deg,transparent 0%,rgba(10,14,26,.97) 30%);
  padding:60px 0 0;margin-top:-60px;
}
.paywall-inner{
  text-align:center;padding:24px 20px 28px;
  border:1px solid rgba(100,160,220,.15);border-radius:12px;
  background:linear-gradient(135deg,rgba(20,30,55,.9) 0%,rgba(13,18,32,.95) 100%);
  backdrop-filter:blur(12px);
}
.paywall-lock{font-size:32px;margin-bottom:12px}
.paywall-title{font-family:'Noto Serif SC',serif;font-size:18px;letter-spacing:2px;color:#cdd8e4;margin-bottom:8px}
.paywall-desc{font-size:12px;line-height:1.9;color:rgba(180,200,220,.45);margin-bottom:16px;max-width:300px;margin-left:auto;margin-right:auto}
.paywall-proof{max-width:320px;margin:0 auto 18px;text-align:left}
.paywall-proof-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(111,179,210,.10);border:1px solid rgba(111,179,210,.18);color:#8bc7e3;font-size:11px;letter-spacing:.6px;margin-bottom:12px}
.paywall-proof-grid{display:grid;gap:10px}
.paywall-proof-card{padding:14px 14px 13px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(111,179,210,.10)}
.paywall-proof-kicker{font-size:10px;letter-spacing:1px;color:rgba(180,200,220,.35);margin-bottom:7px}
.paywall-proof-title{font-size:14px;font-weight:600;color:#d9e8f0;margin-bottom:6px}
.paywall-proof-text{font-size:12px;line-height:1.8;color:rgba(180,200,220,.58)}
.paywall-proof-locked{margin-top:8px;font-size:11px;line-height:1.7;color:rgba(180,200,220,.28);filter:blur(2.6px);user-select:none}
.paywall-items{text-align:left;max-width:260px;margin:0 auto 20px}
.paywall-item{font-size:12px;color:rgba(180,200,220,.55);line-height:2.2;padding-left:18px;position:relative}
.paywall-item::before{content:'✦';position:absolute;left:0;color:rgba(100,160,220,.5);font-size:10px}
.btn-pay{
  display:inline-block;font-family:'Helvetica Neue',sans-serif;font-size:13px;letter-spacing:3px;
  color:#0a0e1a;background:linear-gradient(135deg,#6FB3D2 0%,#4a90d9 50%,#3a7bc8 100%);
  border:none;padding:14px 48px;border-radius:6px;cursor:pointer;transition:all .3s;
  box-shadow:0 4px 20px rgba(74,144,217,.3);font-weight:600;
}
.btn-pay:hover{transform:translateY(-1px);box-shadow:0 6px 28px rgba(74,144,217,.45)}
.paywall-price{font-family:'Helvetica Neue',sans-serif;font-size:28px;font-weight:700;color:#6FB3D2;margin-bottom:4px}
.paywall-price-sub{font-size:11px;color:rgba(180,200,220,.36);margin-bottom:16px;letter-spacing:.6px}
.paywall-safe{font-size:10px;color:rgba(180,200,220,.2);margin-top:14px;font-family:'Helvetica Neue',sans-serif;letter-spacing:1px}

/* ── 支付弹窗 ── */
.pay-modal-overlay{
  position:fixed;top:0;left:0;width:100%;height:100%;
  background:rgba(0,0,0,.75);backdrop-filter:blur(6px);
  z-index:9999;display:none;align-items:center;justify-content:center;
}
.pay-modal-overlay.show{display:flex}
.pay-modal{
  width:320px;max-width:90vw;
  background:linear-gradient(180deg,#141e37 0%,#0d1220 100%);
  border:1px solid rgba(100,160,220,.2);border-radius:16px;
  padding:32px 24px;text-align:center;position:relative;
  box-shadow:0 20px 60px rgba(0,0,0,.6);
}
.pay-modal-close{position:absolute;top:12px;right:16px;font-size:18px;color:rgba(180,200,220,.3);background:none;border:none;cursor:pointer;padding:4px}
.pay-modal-title{font-family:'Noto Serif SC',serif;font-size:18px;letter-spacing:2px;color:#cdd8e4;margin-bottom:20px}
.pay-modal-amount{font-size:24px;font-weight:700;color:#6FB3D2;margin-bottom:4px}
.pay-modal-hint{font-size:11px;color:rgba(180,200,220,.25);margin-bottom:20px}

.pay-methods{display:flex;flex-direction:column;gap:10px;margin-top:8px;margin-bottom:16px}
.btn-pay-method{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;padding:14px 16px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;cursor:pointer;transition:all .2s;
  font-size:14px;letter-spacing:1px;font-family:'Helvetica Neue',sans-serif;
}
.btn-pay-method:hover{transform:translateY(-1px)}
.btn-pay-method:active{transform:scale(.98)}
.pay-icon-img{width:22px;height:22px;flex-shrink:0;object-fit:contain}
.btn-alipay{background:rgba(0,160,233,.12);color:#00a0e9;border-color:rgba(0,160,233,.3)}
.btn-alipay:hover{background:rgba(0,160,233,.22);border-color:rgba(0,160,233,.5);box-shadow:0 4px 16px rgba(0,160,233,.2)}

.pay-pending-icon,.pay-checking-icon,.pay-failed-icon{font-size:36px;margin:8px 0 12px}
.pay-pending-text,.pay-checking-text,.pay-failed-text{font-size:14px;color:rgba(180,200,220,.7);margin-bottom:6px}
.pay-pending-sub,.pay-failed-sub{font-size:11px;color:rgba(180,200,220,.3);margin-bottom:20px}

.btn-check-pay{
  display:block;width:100%;
  font-family:'Helvetica Neue',sans-serif;font-size:13px;letter-spacing:2px;
  color:#0a0e1a;background:linear-gradient(135deg,#6FB3D2 0%,#4a90d9 50%,#3a7bc8 100%);
  border:none;padding:13px;border-radius:8px;cursor:pointer;transition:all .3s;
  font-weight:600;box-shadow:0 4px 16px rgba(74,144,217,.25);
  margin-bottom:10px;
}
.btn-check-pay:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgba(74,144,217,.4)}
.btn-check-pay:active{transform:scale(.98)}

.btn-repay{
  display:block;width:100%;
  font-family:'Helvetica Neue',sans-serif;font-size:11px;letter-spacing:2px;
  color:rgba(180,200,220,.4);background:transparent;
  border:1px solid rgba(255,255,255,.08);border-radius:6px;
  padding:10px;cursor:pointer;transition:all .2s;
}
.btn-repay:hover{color:rgba(180,200,220,.7);border-color:rgba(255,255,255,.18)}

@keyframes dotPulse{0%,80%,100%{opacity:.3}40%{opacity:1}}
.pay-checking-text::after{content:'...';animation:dotPulse 1.2s ease infinite}

.pay-qr-hint{font-size:13px;color:rgba(180,200,220,.55);margin-bottom:16px;letter-spacing:1px}
.pay-qr-wrap{
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 12px;padding:12px;
  background:#fff;border-radius:10px;
  width:180px;height:180px;
}
.pay-qr-wrap img,.pay-qr-wrap canvas{width:156px!important;height:156px!important}
.pay-qr-amount{font-size:20px;font-weight:700;color:#6FB3D2;margin-bottom:4px}
.pay-qr-status{font-size:11px;color:rgba(180,200,220,.35);margin-bottom:16px}
@keyframes qrPulse{0%,100%{box-shadow:0 0 0 rgba(111,179,210,0)}50%{box-shadow:0 0 20px rgba(111,179,210,.15)}}
.pay-qr-wrap{animation:qrPulse 2.5s ease infinite}

/* ── 付费内容区 ── */
.r-section{margin-bottom:28px}
.r-section-hd{
  display:flex;align-items:center;gap:10px;margin-bottom:14px;
  padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06);
}
.r-section-icon{font-size:16px;opacity:.7}
.r-section-label{
  font-family:'Helvetica Neue',sans-serif;font-size:9px;letter-spacing:4px;text-transform:uppercase;
  color:rgba(100,160,220,.45);
}
.r-section-body{font-size:13.5px;line-height:2.1;color:rgba(180,200,220,.55);letter-spacing:.3px}
.r-section-body p{margin:0 0 12px}
.r-section-body p:last-child{margin-bottom:0}

.r-section-quote{
  margin:14px 0;padding:12px 16px;
  border-left:2px solid rgba(100,160,220,.25);
  background:rgba(255,255,255,.015);border-radius:0 4px 4px 0;
  font-size:13px;line-height:2;color:rgba(180,200,220,.62);letter-spacing:.5px;
  font-style:italic;
}

/* 四维光谱卡片 */
.r-spectrum-card{
  margin-bottom:28px;padding:22px 18px;
  border:1px solid rgba(100,160,220,.12);border-radius:10px;
  background:linear-gradient(135deg,rgba(20,30,55,.6) 0%,rgba(13,18,32,.8) 100%);
}
.r-spectrum-title{
  font-family:'Helvetica Neue',sans-serif;font-size:9px;letter-spacing:4px;text-transform:uppercase;
  color:rgba(100,160,220,.5);margin-bottom:18px;text-align:center;
}
.r-spectrum-row{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.r-spectrum-row:last-child{margin-bottom:0}
.r-spectrum-pole{
  font-family:'Helvetica Neue',sans-serif;font-size:11px;font-weight:600;
  width:20px;text-align:center;flex-shrink:0;
}
.r-spectrum-pole.left{color:rgba(180,200,220,.5)}
.r-spectrum-pole.right{color:rgba(180,200,220,.5)}
.r-spectrum-track{flex:1;height:6px;background:rgba(255,255,255,.06);border-radius:3px;position:relative;overflow:hidden}
.r-spectrum-fill{height:100%;border-radius:3px;transition:width .8s cubic-bezier(.4,0,.2,1)}
.r-spectrum-pct{
  font-family:'Helvetica Neue',sans-serif;font-size:11px;font-weight:600;
  color:rgba(180,200,220,.7);width:36px;flex-shrink:0;text-align:right;
}

.r-closing{
  padding:22px 0 24px;border-top:1px solid rgba(255,255,255,.07);
  border-bottom:1px solid rgba(255,255,255,.07);text-align:center;margin-bottom:28px;
}
.r-closing p{font-size:14px;line-height:2.2;letter-spacing:1.2px;color:rgba(180,200,220,.65)}

.r-tip{font-family:'Helvetica Neue',sans-serif;font-size:9px;letter-spacing:2px;color:rgba(180,200,220,.18);text-align:center;margin-bottom:16px;line-height:2}
.r-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.btn-share{
  display:block;width:100%;font-family:'Helvetica Neue',sans-serif;font-size:10px;letter-spacing:4px;text-transform:uppercase;
  color:rgba(180,200,220,.7);background:transparent;border:1px solid rgba(100,160,220,.2);
  padding:14px;border-radius:2px;cursor:pointer;transition:all .3s;text-align:center;
}
.btn-share:hover{color:#6FB3D2;border-color:rgba(100,160,220,.4)}
.btn-retry{
  display:block;width:100%;font-family:'Helvetica Neue',sans-serif;font-size:10px;letter-spacing:4px;text-transform:uppercase;
  color:rgba(180,200,220,.3);background:transparent;border:1px solid rgba(255,255,255,.07);
  padding:14px;border-radius:2px;cursor:pointer;transition:all .3s;text-align:center;
}
.btn-retry:hover{color:rgba(180,200,220,.65);border-color:rgba(255,255,255,.18)}

/* fade-up */
.fu{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}
.fu.show{opacity:1;transform:translateY(0)}

/* 返回按钮 */
.btn-back{
  font-family:'Helvetica Neue',sans-serif;font-size:11px;letter-spacing:2px;
  color:rgba(180,200,220,.35);background:transparent;border:none;
  padding:4px 0;cursor:pointer;transition:color .2s;
}
.btn-back:hover{color:rgba(180,200,220,.75)}
.q-toprow{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}

/* 解锁动画 */
@keyframes unlockPulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}100%{transform:scale(1);opacity:1}}
.unlock-anim{animation:unlockPulse .6s ease}

/* ── 分享海报弹窗 ── */
.poster-overlay{
  position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;
  margin:0;
  background:rgba(0,0,0,.8);backdrop-filter:blur(6px);
  z-index:9998;display:none;flex-direction:column;align-items:center;justify-content:center;padding:20px;
}
.poster-overlay.show{display:flex}
.poster-canvas-wrap{max-width:340px;width:100%;margin:0 auto 16px;border-radius:12px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.5);flex-shrink:1;min-height:0}
.poster-canvas-wrap img{display:block;width:100%;max-height:100%;height:auto;margin:0 auto;object-fit:contain}
.poster-hint{font-size:12px;color:rgba(180,200,220,.45);text-align:center;margin-bottom:12px}
.btn-poster-close{
  font-family:'Helvetica Neue',sans-serif;font-size:11px;letter-spacing:2px;
  color:rgba(180,200,220,.4);background:none;border:1px solid rgba(255,255,255,.1);
  padding:8px 24px;border-radius:4px;cursor:pointer;
}

/* ── 词语对偶选项 ── */
.opts--pair{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
}
.opt--word{
  display:flex;align-items:center;justify-content:center;
  padding:20px 12px;text-align:center;
  min-height:60px;
}
.opt-word{
  font-size:16px;font-weight:500;letter-spacing:2px;
  color:rgba(180,200,220,.75);
}

/* ── Part 标签 ── */
.q-part{
  font-family:'Helvetica Neue',sans-serif;font-size:9px;letter-spacing:3px;
  text-transform:uppercase;color:rgba(180,200,220,.25);text-align:right;
}

/* ── 类型 motto ── */
.r-motto{
  font-family:'Noto Serif SC',serif;font-size:13px;
  color:rgba(180,200,220,.4);text-align:center;
  font-style:italic;margin-bottom:16px;letter-spacing:1px;
}

/* ── 认知功能栈预览（免费区）── */
.r-cog-preview{
  padding:16px;
  border:1px solid rgba(100,160,220,.1);border-radius:10px;
  background:rgba(100,160,220,.03);margin-bottom:24px;
}
.r-cog-title{
  font-family:'Helvetica Neue',sans-serif;font-size:9px;letter-spacing:3px;
  text-transform:uppercase;color:rgba(100,160,220,.4);margin-bottom:12px;text-align:center;
}
.r-cog-stack{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.r-cog-item{
  display:flex;flex-direction:column;align-items:center;gap:3px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.06);border-radius:6px;
  background:rgba(255,255,255,.015);min-width:70px;
}
.r-cog-role{
  font-family:'Helvetica Neue',sans-serif;font-size:8px;letter-spacing:1px;
  color:rgba(180,200,220,.3);text-transform:uppercase;
}
.r-cog-fn{
  font-family:'Helvetica Neue',sans-serif;font-size:14px;font-weight:600;
  color:rgba(180,200,220,.7);letter-spacing:1px;
}
.r-cog-name{
  font-size:10px;color:rgba(180,200,220,.35);
}

/* ── 认知功能栈详解（付费区）── */
.r-cog-detail{
  margin-bottom:16px;padding:14px;
  border:1px solid rgba(255,255,255,.05);border-radius:8px;
  background:rgba(255,255,255,.015);
}
.r-cog-detail:last-child{margin-bottom:0}
.r-cog-detail-hd{
  display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap;
}
.r-cog-detail-fn{
  font-family:'Helvetica Neue',sans-serif;font-size:16px;font-weight:700;
  color:rgba(100,160,220,.7);letter-spacing:1px;
}
.r-cog-detail-name{
  font-size:12px;color:rgba(180,200,220,.5);
}
.r-cog-detail-role{
  font-family:'Helvetica Neue',sans-serif;font-size:9px;letter-spacing:2px;
  color:rgba(180,200,220,.3);margin-left:auto;
}
.r-cog-detail-desc{
  font-size:13px;line-height:2;color:rgba(180,200,220,.5);letter-spacing:.3px;
  margin:0;
}
