/* ============================================================
   slate 主题页面样式：仅补充 <style> 中未定义的页面级样式
   ============================================================ */

/* ========== 趣味测试条（详情/列表页共用） (app/views/fun_test/detail.php、list.php) ========== */
.fun-strip-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media (max-width:760px){.fun-strip-grid{grid-template-columns:1fr}}
.fun-strip{position:relative;display:flex;align-items:center;gap:14px;background: rgba(0, 0, 0, .15);border:1px solid var(--c-border);border-radius:16px;padding:14px 16px;text-decoration:none;color:inherit;transition:transform .18s,box-shadow .18s,border-color .18s;overflow:hidden}
.fun-strip:hover{box-shadow:0 8px 22px rgba(86,95,201,.1);border-color:rgba(125,134,224,.35)}
.fun-strip-ic{width:56px;height:56px;flex:none;display:flex;align-items:center;justify-content:center;font-size:30px;border-radius:16px;background:linear-gradient(135deg,rgba(129,140,248,.13),rgba(99,102,241,.07));}
.fun-strip-body{flex:1;min-width:0;display:block}
.fun-strip-title{display:block;font-size:15px;font-weight:700;line-height:1.45;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fun-strip-intro{display:block;font-size:12px;color:var(--c-muted);line-height:1.55;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fun-strip-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;margin-top:7px;font-size:11.5px;color:var(--c-muted)}
.fun-strip-arrow{flex:none;font-size:18px;color:var(--c-muted);opacity:.65;transition:transform .18s,opacity .18s;line-height:1}
.fun-strip:hover .fun-strip-arrow{transform:translateX(3px);opacity:1;color:var(--c-primary)}

/* ========== 每日一签抽签动画 (app/views/home/lottery.php) ========== */
.ml-lot-mask {
  position: fixed; inset: 0; z-index: 9990;
  display: flex; align-items: center; justify-content: center;
  background: rgba(15,23,42,.88); backdrop-filter: blur(6px);
  opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s;
}
.ml-lot-mask.show { opacity: 1; visibility: visible; }
.ml-lot-box { text-align: center; color: #e2e8f0; padding: 24px; }
.ml-lot-stage { position: relative; width: 220px; height: 190px; margin: 0 auto 18px; }
.ml-lot-tube {
  position: absolute; left: 50%; bottom: 8px; transform: translateX(-50%);
  width: 120px; height: 140px; transform-origin: 50% 100%;
  animation: mlShake 1s ease-in-out infinite;
}
.ml-lot-tube .tube-top {
  position: absolute; left: 50%; transform: translateX(-50%); bottom: 92px;
  width: 132px; height: 26px; border-radius: 14px;
  background: linear-gradient(180deg, #9aa3ef, #565fc9);
  border: 2px solid rgba(255,255,255,.16); box-shadow: 0 4px 12px rgba(86,95,201,.28);
}
.ml-lot-tube .tube-body {
  position: absolute; left: 50%; transform: translateX(-50%); bottom: 0;
  width: 110px; height: 96px; border-radius: 14px 14px 30px 30px;
  background: linear-gradient(180deg, #7a84de, #4a52c2);
  border: 2px solid rgba(255,255,255,.14);
  box-shadow: 0 12px 26px rgba(86,95,201,.28), inset 0 -16px 26px rgba(0,0,0,.3);
}
.ml-lot-tube .stick {
  position: absolute; bottom: 96px; width: 6px; border-radius: 4px;
  background: linear-gradient(180deg, #d9b45c, #b98a35);
  box-shadow: 0 2px 6px rgba(0,0,0,.4);
}
.ml-lot-tube .stick.s1 { left: 24px; height: 58px; transform: rotate(-18deg); animation: mlStick1 1.1s ease-in-out infinite; }
.ml-lot-tube .stick.s2 { left: 52px; height: 68px; transform: rotate(-5deg); animation: mlStick2 1.1s ease-in-out infinite .14s; }
.ml-lot-tube .stick.s3 { left: 82px; height: 54px; transform: rotate(14deg); animation: mlStick3 1.1s ease-in-out infinite .22s; }
.stick-rise {
  position: absolute; left: 50%; bottom: 104px; width: 7px; height: 86px; margin-left: -3px;
  border-radius: 6px;
  background: linear-gradient(180deg, #e8cd8a, #c9a24e);
  box-shadow: 0 0 16px rgba(217,180,92,.45);
  animation: mlRise 1.6s ease-in-out infinite;
}
.ml-lot-spark { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: #d9b45c; box-shadow: 0 0 8px rgba(217,180,92,.6); animation: mlFloat 2.1s ease-in-out infinite; }
.ml-lot-spark.sp1 { left: 6px; top: 40px; }
.ml-lot-spark.sp2 { right: 8px; top: 70px; animation-delay: .5s; background: #a0a9ef; box-shadow: 0 0 8px rgba(160,169,239,.55); }
.ml-lot-spark.sp3 { left: 28px; bottom: 12px; animation-delay: .9s; }
.ml-lot-spark.sp4 { right: 30px; bottom: 6px; animation-delay: 1.3s; }
.ml-lot-text { font-size: 16px; font-weight: 600; letter-spacing: 1px; }
.ml-lot-sub { font-size: 12px; color: rgba(226,232,240,.65); margin-top: 10px; line-height: 1.8; }
.ml-lot-load { width: 130px; height: 4px; border-radius: 999px; margin: 16px auto 0; background: rgba(255,255,255,.12); overflow: hidden; }
.ml-lot-load i { display: block; height: 100%; width: 40%; border-radius: 999px; background: linear-gradient(90deg, #7a84de, #6dbee2); animation: mlLoad 1.1s ease-in-out infinite; }
@keyframes mlShake { 0%,100% { transform: translateX(-50%) rotate(0deg); } 25% { transform: translateX(-50%) rotate(-6deg); } 75% { transform: translateX(-50%) rotate(6deg); } }
@keyframes mlStick1 { 0%,100% { transform: rotate(-18deg) translateY(0); } 50% { transform: rotate(-18deg) translateY(-8px); } }
@keyframes mlStick2 { 0%,100% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-5deg) translateY(-8px); } }
@keyframes mlStick3 { 0%,100% { transform: rotate(14deg) translateY(0); } 50% { transform: rotate(14deg) translateY(-8px); } }
@keyframes mlRise { 0%,28% { transform: translateY(0); opacity: 0; } 42% { opacity: 1; } 100% { transform: translateY(-46px); opacity: 1; } }
@keyframes mlFloat { 0%,100% { transform: translateY(0); opacity: .4; } 50% { transform: translateY(-10px); opacity: 1; } }
@keyframes mlLoad { 0% { margin-left: 0; } 50% { margin-left: 60%; } 100% { margin-left: 0; } }

/* ========== 测算加载动画 (app/views/test/form.php) ========== */
/* ========== 发布许愿仪式动画 (app/views/wish/create.php) ========== */
.wr-mask {
  position: fixed; inset: 0; z-index: 9995;
  display: flex; align-items: center; justify-content: center;
  background: radial-gradient(ellipse at center, rgba(24,30,56,.92) 0%, rgba(8,11,26,.96) 78%);
  backdrop-filter: blur(8px);
  opacity: 0; visibility: hidden; transition: opacity .35s, visibility .35s;
  --wr-color: #e8c36a;
  --wr-color-soft: rgba(232,195,106,.32);
}
.wr-mask.show { opacity: 1; visibility: visible; }
.wr-box { text-align: center; color: #eef2ff; padding: 26px 20px; width: 100%; max-width: 380px; }
.wr-stage { position: relative; width: 260px; height: 300px; margin: 0 auto 14px; }
.wr-halo {
  position: absolute; left: 50%; top: 76px; width: 172px; height: 172px; margin: -86px 0 0 -86px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--wr-color-soft) 0%, rgba(0,0,0,0) 70%);
  animation: wrPulse 2.6s ease-in-out infinite;
}
.wr-deity {
  position: absolute; left: 50%; top: 12px; width: 128px; height: 128px; margin: 0 0 0 -64px;
  border-radius: 50%; overflow: hidden;
  border: 2px solid var(--wr-color);
  box-shadow: 0 0 26px var(--wr-color-soft), 0 0 60px rgba(0,0,0,.35);
  animation: wrFloat 3.2s ease-in-out infinite;
}
.wr-deity img { display: block; width: 100%; height: 100%; object-fit: cover; }
.wr-mask.st3 .wr-deity { animation: wrDeityShine 1.1s ease-in-out infinite; }
.wr-mask.st3 .wr-halo { animation: wrPulseBig 1.1s ease-in-out infinite; }
.wr-person {
  position: absolute; left: 50%; bottom: 6px; width: 58px; height: 58px; margin-left: -29px;
  color: #251d2f;
  filter: drop-shadow(0 0 7px rgba(255,235,190,.3)) drop-shadow(0 5px 8px rgba(0,0,0,.5));
  opacity: 0; transition: opacity .45s;
  z-index: 3;
}
.wr-person svg { display: block; width: 100%; height: 100%; overflow: visible; }
.wr-person .wp-body, .wr-person .wp-head {
  transform-box: view-box;
  transform-origin: 70px 97px;
}
.wr-person .wp-mat { fill: rgba(232,195,106,.14); stroke: rgba(232,195,106,.38); stroke-width: 1; }
.wr-mask.st1 .wr-person { opacity: 1; }
.wr-mask.st1 .wp-body { animation: wrKowtowBody 2.4s ease-in-out both; }
.wr-mask.st1 .wp-head { animation: wrKowtowHead 2.4s ease-in-out both; }
.wr-mask.st2 .wr-person, .wr-mask.st3 .wr-person { opacity: 1; }
.wr-incense { position: absolute; left: 50%; bottom: 65px; width: 66px; height: 74px; margin-left: -33px; z-index: 2; }
.wr-censer {
  position: absolute; left: 50%; bottom: 0; width: 46px; height: 15px; margin-left: -23px;
  border-radius: 3px 3px 13px 13px;
  background: linear-gradient(180deg, #3b2f21, #221a11);
  border: 1px solid rgba(232,195,106,.35);
  box-shadow: 0 3px 8px rgba(0,0,0,.4);
}
.wr-censer::after {
  content: ''; position: absolute; left: 50%; bottom: 4px; width: 60%; height: 4px; margin-left: -30%;
  border-radius: 999px; background: rgba(232,195,106,.25); filter: blur(2px);
}
.wr-stick {
  position: absolute; bottom: 9px; width: 2px; height: 56px; border-radius: 1px;
  background: linear-gradient(180deg, #d9482f 0%, #d9482f 9%, #c98d52 11%, #8a5a2b 100%);
  box-shadow: 0 1px 3px rgba(0,0,0,.35);
}
.wr-stick::after {
  content: ''; position: absolute; top: -2px; left: 50%; width: 2.5px; height: 2.5px; margin-left: -1.25px;
  border-radius: 50%;
  background: radial-gradient(circle, #ffd9a0 0%, #ff7a3d 55%, rgba(255,80,30,.3) 100%);
  box-shadow: 0 0 10px rgba(255,140,60,.85), 0 0 20px rgba(255,120,50,.4);
  animation: wrEmber 1.5s ease-in-out infinite;
}
.wr-stick.k1 { left: 50%; margin-left: -18px; transform: rotate(-9deg); }
.wr-stick.k2 { left: 50%; margin-left: -2px; transform: rotate(-1deg); }
.wr-stick.k3 { left: 50%; margin-left: 14px; transform: rotate(9deg); }
.wr-smoke {
  position: absolute; left: 50%; bottom: 62px; width: 10px; height: 10px;
  border-radius: 50%; background: radial-gradient(circle, rgba(240,244,255,.55), rgba(240,244,255,0) 70%);
  filter: blur(1.5px); opacity: 0;
  animation: wrSmoke 3.4s ease-in-out infinite;
}
.wr-smoke.m1 { margin-left: -18px; animation-delay: .4s; }
.wr-smoke.m2 { margin-left: -2px; animation-delay: 1.5s; }
.wr-smoke.m3 { margin-left: 14px; animation-delay: 2.6s; }
.wr-spark {
  position: absolute; width: 6px; height: 6px; border-radius: 50%;
  background: var(--wr-color); box-shadow: 0 0 10px var(--wr-color-soft);
  opacity: 0; animation: wrSpark 3s linear infinite;
}
.wr-spark.s1 { left: 18px; top: 120px; animation-delay: .2s; }
.wr-spark.s2 { left: 40px; top: 60px; animation-delay: 1s; }
.wr-spark.s3 { right: 36px; top: 150px; animation-delay: .6s; }
.wr-spark.s4 { right: 14px; top: 80px; animation-delay: 1.6s; }
.wr-spark.s5 { left: 70px; top: 24px; animation-delay: 2.2s; }
.wr-spark.s6 { right: 64px; top: 30px; animation-delay: .3s; }
.wr-spark.s7 { left: 30px; bottom: 60px; animation-delay: 1.4s; }
.wr-spark.s8 { right: 26px; bottom: 90px; animation-delay: 2s; }
.wr-paper {
  position: absolute; left: 50%; bottom: 44px; width: 22px; height: 22px; margin-left: -11px;
  border-radius: 4px;
  background: linear-gradient(135deg, #f7ecd9, #e6c98f);
  box-shadow: 0 2px 8px rgba(0,0,0,.35);
  opacity: 0; animation: wrPaper 3.2s ease-in-out infinite;
  z-index: 4;
}
.wr-paper::before {
  content: '心';
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; line-height: 1;
  font-family: 'KaiTi', 'STKaiti', 'FangSong', 'SimSun', serif;
  color: rgba(122,64,24,.92);
}
.wr-paper::after {
  content: ''; position: absolute; right: 2px; bottom: 2px; width: 5px; height: 5px;
  background: #c0392b; border-radius: 1px; opacity: .85;
}
.wr-paper.p1 { margin-left: -34px; animation-delay: .32s; }
.wr-paper.p2 { margin-left: 24px; animation-delay: 1.1s; }
.wr-paper.p3 { margin-left: -4px; animation-delay: 1.85s; }
.wr-paper.p2::before { content: '愿'; }
.wr-paper.p3::before { content: '成'; }
.wr-mask:not(.show) .wr-paper { animation-play-state: paused; }
.wr-text { font-size: 17px; font-weight: 700; letter-spacing: 2px; min-height: 24px; }
.wr-sub { font-size: 12px; color: rgba(226,232,240,.68); margin-top: 12px; line-height: 1.8; min-height: 20px; }
.wr-load {
  width: 150px; height: 5px; border-radius: 999px; margin: 14px auto 0;
  background: rgba(255,255,255,.12); overflow: hidden;
}
.wr-load i {
  display: block; height: 100%; border-radius: 999px;
  background: linear-gradient(90deg, var(--wr-color), #ffffff88);
  width: 8%; transition: width 1.5s ease-in-out;
  box-shadow: 0 0 10px var(--wr-color-soft);
}
@keyframes wrPulse { 0%,100% { transform: scale(.96); opacity: .75; } 50% { transform: scale(1.06); opacity: 1; } }
@keyframes wrPulseBig { 0%,100% { transform: scale(1.02); opacity: .9; } 50% { transform: scale(1.16); opacity: 1; } }
@keyframes wrFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes wrDeityShine { 0%,100% { transform: translateY(0) scale(1); filter: brightness(1); } 50% { transform: translateY(-7px) scale(1.06); filter: brightness(1.18); } }
@keyframes wrEmber { 0%,100% { transform: scale(.85); opacity: .8; } 50% { transform: scale(1.18); opacity: 1; } }
/* 背面视角三拜：上身俯下、头垂直落向垫子（面朝神明方向） */
@keyframes wrKowtowBody {
  0%, 100% { transform: translate(0, 0) scaleY(1); }
  12%, 24% { transform: translate(0, 26px) scaleY(.6); }
  36% { transform: translate(0, 0) scaleY(1); }
  44%, 56% { transform: translate(0, 26px) scaleY(.6); }
  68% { transform: translate(0, 0) scaleY(1); }
  76%, 88% { transform: translate(0, 26px) scaleY(.6); }
}
@keyframes wrKowtowHead {
  0%, 100% { transform: translate(0, 0) scaleY(1); }
  12%, 24% { transform: translate(0, 54px) scaleY(.6); }
  36% { transform: translate(0, 0) scaleY(1); }
  44%, 56% { transform: translate(0, 54px) scaleY(.6); }
  68% { transform: translate(0, 0) scaleY(1); }
  76%, 88% { transform: translate(0, 54px) scaleY(.6); }
}
@keyframes wrSmoke {
  0% { transform: translate(0, 6px) scale(.7); opacity: 0; }
  25% { opacity: .7; }
  100% { transform: translate(6px, -46px) scale(1.7); opacity: 0; }
}
@keyframes wrSpark {
  0% { transform: translate(0, 0) scale(.6); opacity: 0; }
  18% { opacity: 1; }
  100% { transform: translate(-8px, -54px) scale(1.1); opacity: 0; }
}
@keyframes wrPaper {
  0% { transform: translate(0, 0) rotate(0deg) scale(1.3); opacity: 0; }
  16% { opacity: .95; }
  58% { transform: translate(-14px, -112px) rotate(-24deg) scale(.85); }
  100% { transform: translate(8px, -172px) rotate(18deg) scale(.45); opacity: 0; }
}

/* ========== 许愿成功横幅 (app/views/wish/detail.php) ========== */
.wish-created-banner {
  display: flex; align-items: center; gap: 14px;
  background: linear-gradient(135deg, rgba(232,195,106,.16), rgba(232,195,106,.06));
  border: 1px solid rgba(232,195,106,.35);
  border-radius: 16px; padding: 14px 18px; margin-bottom: 18px;
  animation: wrBannerIn .6s ease-out both;
}
.wish-created-banner .wcb-ic { font-size: 30px; line-height: 1; flex: none; }
.wish-created-banner b { display: block; font-size: 15px; color: var(--c-text, #f1f5f9); }
.wish-created-banner span { display: block; font-size: 12px; color: var(--c-muted); margin-top: 4px; line-height: 1.6; }
@keyframes wrBannerIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

.ml-calc-mask {
  position: fixed; inset: 0; z-index: 9990;
  display: flex; align-items: center; justify-content: center;
  background: rgba(15,23,42,.88); backdrop-filter: blur(6px);
  opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s;
}
.ml-calc-mask.show { opacity: 1; visibility: visible; }
.ml-calc-box { text-align: center; color: #e2e8f0; padding: 24px; }
.ml-calc-star { width: 140px; height: 140px; margin: 0 auto 20px; position: relative; }
.ml-calc-star .cs-ring { position: absolute; border-radius: 50%; }
.ml-calc-star .cs-ring.r1 { inset: 0; border: 1.5px solid rgba(160,169,239,.4); }
.ml-calc-star .cs-ring.r2 { inset: 16px; border: 1.5px dashed rgba(125,134,224,.35); animation: mlSpin 16s linear infinite; }
.ml-calc-star .cs-ring.r3 { inset: 34px; border: 1.5px solid rgba(217,180,92,.4); }
.ml-calc-star .cs-ring.r3 i {
  position: absolute; left: 50%; top: -3px; width: 2px; height: 7px; margin-left: -1px;
  background: rgba(255,255,255,.6); border-radius: 2px;
}
.ml-calc-star .cs-ring.r1::after, .ml-calc-star .cs-ring.r2::after, .ml-calc-star .cs-ring.r3::after {
  content: ''; position: absolute; left: 50%; top: -3px; width: 6px; height: 6px; margin-left: -3px;
  border-radius: 50%; background: #d9b45c; box-shadow: 0 0 8px rgba(217,180,92,.6);
}
.ml-calc-star .cs-ring.r2::after { background: #a0a9ef; box-shadow: 0 0 8px rgba(160,169,239,.55); }
.ml-calc-star .cs-core {
  position: absolute; left: 50%; top: 50%; width: 34px; height: 34px;
  transform: translate(-50%,-50%);
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; color: #d9b45c;
  border: 1.5px solid rgba(217,180,92,.42); border-radius: 50%;
  background: rgba(125,134,224,.14); box-shadow: 0 0 18px rgba(217,180,92,.25);
  animation: mlPulse 1.5s ease-in-out infinite;
}
.ml-calc-star .cs-core svg { width: 18px; height: 18px; }
.ml-calc-text { font-size: 16px; font-weight: 600; letter-spacing: 1px; }
.ml-calc-sub { font-size: 12px; color: rgba(226,232,240,.65); margin-top: 10px; line-height: 1.8; }
.ml-calc-load { width: 130px; height: 4px; border-radius: 999px; margin: 16px auto 0; background: rgba(255,255,255,.12); overflow: hidden; }
.ml-calc-load i { display: block; height: 100%; width: 40%; border-radius: 999px; background: linear-gradient(90deg, #7a84de, #6dbee2); animation: mlLoad 1.1s ease-in-out infinite; }
@keyframes mlSpin { to { transform: rotate(360deg); } }
@keyframes mlPulse { 0%,100% { transform: translate(-50%,-50%) scale(1); } 50% { transform: translate(-50%,-50%) scale(1.14); } }
@keyframes mlLoad { 0% { margin-left: 0; } 50% { margin-left: 60%; } 100% { margin-left: 0; } }

/* ========== 会员充值弹窗 (app/views/user/member.php) ========== */
.pay-mask{position:fixed;inset:0;z-index:999;background:rgba(10,8,25,.62);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;padding:0}
.pay-mask[hidden]{display:none!important}
.pay-mask.d-none{display:none}
@media (min-width:560px){.pay-mask{align-items:center;padding:24px}}
.pay-modal{width:100%;max-width:420px;background:#141b2b;border:1px solid rgba(255,255,255,.08);border-radius:20px 20px 0 0;box-shadow:0 -10px 40px rgba(0,0,0,.45);overflow:hidden}
@media (min-width:560px){.pay-modal{border-radius:20px}}
.pay-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 6px}
.pay-modal-head h3{margin:0;font-size:17px;color:var(--c-text,#f1f5f9)}
.pay-modal-close{border:none;background:rgba(255,255,255,.08);color:#aab3c8;width:30px;height:30px;border-radius:50%;font-size:18px;line-height:1;cursor:pointer}
.pay-modal-body{padding:6px 20px 20px}
.pay-modal-summary{font-size:14px;color:#c9d2e4;background:rgba(125,134,224,.12);border:1px solid rgba(125,134,224,.26);border-radius:12px;padding:10px 12px;margin-bottom:14px}
.pay-modal-summary b{color:#e3c87e;font-weight:700}
.pay-opt{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--c-border-2,rgba(255,255,255,.14));border-radius:14px;margin-bottom:10px;cursor:pointer;background:rgba(255,255,255,.03)}
.pay-opt input{position:absolute;opacity:0;pointer-events:none}
.pay-opt-ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:#ffffff;flex-shrink:0}
.pay-opt-alipay .pay-opt-ic{background:linear-gradient(135deg,#1677ff,#4fa3ff)}
.pay-opt-wxpay .pay-opt-ic{background:linear-gradient(135deg,#07c160,#2ee59d)}
.pay-opt-name{font-size:15px;color:var(--c-text,#f1f5f9);flex:1}
.pay-opt-check{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;font-size:12px;color:transparent;flex-shrink:0}
.pay-opt input:checked ~ .pay-opt-check{background:#565fc9;border-color:#565fc9;color:#ffffff}
.pay-modal-tips{font-size:12px;line-height:1.75;color:#a3abbf;background:rgba(217,180,92,.08);border:1px solid rgba(217,180,92,.22);border-radius:12px;padding:10px 12px;margin:14px 0}
.pay-modal-tips b{color:#e3c87e}
.pay-modal-actions{display:flex;gap:10px}
.pay-modal-actions .btn{flex:1;min-height:42px;border-radius:12px}

/* ========== 任务中心 (app/views/user/tasks.php) ========== */
.task-center { display: flex; flex-direction: column; gap: 14px; }
.task-tip {
  font-size: 12px; color: var(--c-muted); line-height: 1.8;
  background: var(--c-primary-soft); border: 1px dashed var(--c-border-2, var(--c-border));
  border-radius: 12px; padding: 10px 14px;
}
.task-redtip {
  display: flex; align-items: center; gap: 8px;
  font-size: 13px; color: #fca5a5; line-height: 1.6;
  background: rgba(239,68,68,.12); border: 1px solid rgba(239,68,68,.4);
  border-radius: 12px; padding: 10px 14px; font-weight: 600;
}
.task-redtip .tr-dot { width: 8px; height: 8px; border-radius: 50%; background: #ef4444; box-shadow: 0 0 6px rgba(239,68,68,.5); flex: 0 0 8px; }
.task-card {
  display: flex; align-items: center; gap: 14px;
  background: rgba(0, 0, 0, .15); border: 1px solid var(--c-border);
  border-radius: 16px; padding: 16px 18px;
}
.task-card .tc-icon {
  position: relative;
  width: 46px; height: 46px; flex: 0 0 46px; border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  background: var(--c-primary-soft); color: var(--c-primary-2);
  border: 1px solid var(--c-border);
}
.task-card .tc-icon svg { width: 23px; height: 23px; }
.tc-dot {
  position: absolute; top: -5px; right: -5px; width: 10px; height: 10px;
  border-radius: 50%; background: #ef4444;
  box-shadow: 0 0 0 2px var(--c-card), 0 0 6px rgba(239,68,68,.5);
}
.task-card .tc-body { flex: 1; min-width: 0; }
.task-card .tc-body b { display: contents; font-size: 15px; }
.task-card .tc-body .tc-tag { font-size: 11px; color: var(--c-gold); margin-left: 6px; }
.task-card .tc-body p { font-size: 12px; color: var(--c-muted); margin-top: 4px; line-height: 1.7; }
.task-card .tc-right { flex: 0 0 auto; text-align: right; }
.task-card .tc-right .tc-pts { font-size: 17px; font-weight: 800; color: var(--c-gold); white-space: nowrap; }
.task-card .tc-right .tc-pts small { font-size: 11px; color: var(--c-muted); font-weight: 400; }
.badge-done {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 13px; font-weight: 700; padding: 7px 16px; border-radius: 999px;
  background: linear-gradient(135deg, rgba(74,222,128,.22), rgba(74,222,128,.08));
  color: var(--c-ok); border: 1px solid rgba(74,222,128,.35); white-space: nowrap;
  box-shadow: 0 2px 8px rgba(74,222,128,.1);
}
.badge-done svg, .badge-todo svg { width: 15px; height: 15px; }
.badge-todo {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 13px; font-weight: 600; padding: 7px 16px; border-radius: 999px;
  background: rgba(148,163,184,.1); color: var(--c-muted); border: 1px solid var(--c-border); white-space: nowrap;
}
.btn-claim {
  display: inline-block; padding: 7px 16px; border-radius: 999px; border: 0; cursor: pointer;
  font-size: 13px; font-weight: 700; color: #241603;
  background: linear-gradient(135deg, var(--c-gold), var(--c-gold-2));
  box-shadow: 0 4px 12px rgba(185,138,53,.2);
}
.btn-claim:hover { filter: brightness(1.06); }
.btn-todo {
  display: inline-block; padding: 7px 16px; border-radius: 999px;
  font-size: 13px; font-weight: 600; color: var(--c-muted);
  background: rgba(148,163,184,.08); border: 1px solid var(--c-border);
}
.btn-todo:active { transform: scale(.97); }
.task-invite-row { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.task-invite-row .input { flex: 1; min-width: 220px; font-size: 12px; }
.task-invite-row .btn { flex: 0 0 auto; }
.mile-box { margin-top: 12px; max-width: 460px; }
.mile-progress { height: 8px; border-radius: 999px; background: var(--c-primary-soft); border: 1px solid var(--c-border); overflow: hidden; margin: 10px 0 12px; }
.mile-progress i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--c-primary), var(--c-cyan)); transition: width .4s; }
.task-long { border-style: dashed; }
@media (max-width: 480px) {
  .task-card { flex-wrap: wrap; }
  .task-card .tc-right { width: 100%; text-align: left; display: flex; align-items: center; gap: 10px; }
  .task-card .tc-right .tc-pts { margin-top: 0 !important; }
}

/* ========== 支付等待页 (app/views/user/pay.php) ========== */
.pay-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0f172a;color:#e2e8f0;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;margin:0}
.pay-page .box{text-align:center;padding:40px}
.pay-page .spin{width:44px;height:44px;margin:0 auto 18px;border:3px solid rgba(99,102,241,.2);border-top-color:#7a84de;border-radius:50%;animation:mlspin 1s linear infinite}
@keyframes mlspin{to{transform:rotate(360deg)}}
.pay-page .box p{font-size:15px;color:#cbd5e1;margin:0}
.pay-page .box small{display:block;margin-top:10px;font-size:12px;color:#64748b}

/* ========== 趣味测试详情「你可能是」结果卡 ========== */
.fr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (max-width:760px){.fr-grid{grid-template-columns:1fr}}
.fr-card{display:flex;align-items:center;gap:11px;padding:12px 14px;background:rgba(255,255,255,.03);border:1px solid var(--c-border);border-radius:14px;transition:border-color .15s,transform .15s}
.fr-card:hover{border-color:rgba(125,134,224,.35);transform:translateY(-1px)}
.fr-ic{flex:0 0 36px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;background:linear-gradient(135deg,rgba(125,134,224,.14),rgba(86,95,201,.06));border:1px solid rgba(125,134,224,.16);border-radius:10px}
.fr-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.fr-title{font-size:14px;font-weight:700;color:var(--c-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fr-tag{font-size:12px;color:var(--c-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ============================================================
   首页 (app/views/home/index.php)
   ============================================================ */
body{overflow-x:hidden}

/* ---------- Hero：全屏背景，内容居中 1024 ---------- */
.hm-hero{position:relative;left:50%;transform:translateX(-50%);width:100vw;overflow:hidden;color:#ffffff;padding:26px 22px 40px;text-align:center;margin-bottom:22px;margin-top:-20px;box-shadow: 10px 16px 40px rgba(2, 6, 23, .95);background: linear-gradient(135deg, rgba(0, 0, 0, .1) 50%, rgba(120, 184, 180, .2) 85%, rgba(0, 0, 0, .02) 100%);}
.hm-hero::before{content:'';position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(125,134,224,.18),transparent 65%);top:-190px;right:-110px}
.hm-hero::after{content:'';position:absolute;width:320px;height:320px;border-radius:50%;/*background:radial-gradient(circle,rgba(77,168,216,.13),transparent 65%);*/bottom:-150px;left:-100px}
.hm-hero-inner{position:relative;z-index:1;max-width:1024px;margin:0 auto}
.hm-hero-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:5px 15px;font-size:12px;letter-spacing:1px}
.hm-hero h1{font-size:25px;margin:16px 0 8px;letter-spacing:1px;color: #d9b45c;}
.hm-hero p{margin:0 auto;max-width:620px;font-size:13px;line-height:1.9;opacity:.94;color: #aaa;}
.hm-hero-stats{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;margin:18px 0 4px;font-size:12.5px}
.hm-hero-stats b{display:block;font-size:20px;margin-bottom:2px}
.hm-ctas{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:18px}
.hm-ctas a{display:inline-flex;align-items:center;gap:6px;padding:11px 20px;border-radius:9px;font-size:14px;font-weight:700;text-decoration:none;transition:transform .15s}
.hm-ctas a:hover{transform:translateY(-2px)}
.hm-ctas .c1{background: linear-gradient(135deg, #5b64cd 50%, #d9a3e8);color:#333;box-shadow:0 6px 18px rgba(2,6,23,.22)}
.hm-ctas .c2{background: linear-gradient(135deg, #f87171 50%, #d9b45c);color:#333;}
.hm-ctas .c3{background: linear-gradient(135deg, #2d92bf 50%, #d9b45c);color:#333;}
.hm-ctas .c4{background: linear-gradient(135deg, #d9b45c 70%, #cbd5e1);color:#333;}
/* ---------- 双栏主体 ---------- */
.hm-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start;grid-template-areas:"main side"}
.hm-col-main{grid-area:main;min-width:0}
.hm-col-side{grid-area:side;min-width:0;display:flex;flex-direction:column;gap:16px}
@media (max-width:960px){
  .hm-cols{display:flex;flex-direction:column}
  .hm-col-main{order:1}
  .hm-col-side{order:2}
}

/* ---------- 通用卡片 ---------- */
.hm-card{background: rgba(0, 0, 0, .15);border:1px solid var(--c-border);border-radius:18px;padding:18px}
.hm-card-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.hm-card-title h2{font-size:16px;margin:0;display:flex;align-items:center;gap:7px}
.hm-card-title a{font-size:12px;color:var(--c-muted);text-decoration:none}
.hm-card-title a:hover{color:var(--c-primary)}
.hm-sec-head{display:flex;align-items:center;justify-content:space-between;margin:4px 2px 14px}
.hm-sec-head h2{font-size:17px;margin:0;display:flex;align-items:center;gap:7px}
.hm-sec-head a{font-size:12.5px;color:var(--c-muted);text-decoration:none}
.hm-sec-head a:hover{color:var(--c-primary)}
.hm-sec-dot{width:5px;height:16px;border-radius:999px;background:linear-gradient(180deg,#9aa3ef,#565fc9);display:inline-block;box-shadow:0 0 8px rgba(125,134,224,.3)}

/* ---------- 热门测算 ---------- */
.hm-test-tip{margin:10px 2px 0;font-size:11.5px;color:var(--c-muted);line-height:1.7;text-align:center}

/* ---------- 每日一签 ---------- */
.hm-lottery{position:relative;text-align:center;padding:20px 18px;background: rgba(0, 0, 0, .15);border:1px solid var(--c-border);border-radius:18px;overflow:hidden}

.hm-lottery .st-ic{font-size:44px;line-height:1}
.hm-lottery .st-neutral{display:inline-block;border-radius:5px;padding:3px 14px;font-size:12px;font-weight:700;margin:10px 0 6px;background: rgba(0, 0, 0, .12);color:#ffffff;box-shadow:0 4px 12px rgba(86,95,201,.12)}
.hm-lottery .st-level{display:inline-block;border-radius:9px;padding:3px 12px;font-size:12px;font-weight:700;margin:10px 0 6px}
.hm-lottery h3{margin:0 0 6px;font-size:18px}
.hm-lottery .st-poem{font-size:12.5px;color:var(--c-muted);line-height:1.8}
.hm-lottery .st-tip{font-size:11.5px;color:var(--c-muted);margin-top:8px}
.hm-lottery .btn{margin-top:12px}

/* ---------- 文章列表（右栏） ---------- */
.hm-articles .hm-card-title{margin-bottom:6px}
.hm-art-row{display:block;padding:6px 4px 7px;text-decoration:none;color:inherit;border-radius:10px}
.hm-art-row:hover{background:rgba(0,0,0,.2)}
.hm-art-row + .hm-art-row{border-top:1px dashed var(--c-border)}
.hm-art-title{display:block;font-size:14.5px;font-weight:600;line-height:1.55;color:inherit;text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hm-art-title::before {content: "• ";color: rgba(148,163,184,.14);font-size: 1.2em;font-weight: bold;margin-right: 4px;}
.hm-art-row:hover .hm-art-title{color:var(--c-primary)}
.hm-art-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:6px;justify-content: space-between;}
.hm-art-cat{font-size:11px;color:var(--c-primary);background:rgba(129,140,248,.08);border:1px solid rgba(129,140,248,.05);padding:2px 9px;border-radius:3px;font-weight:500;text-decoration:none;margin-left: 15px;}
.hm-art-cat:hover{color:#8b93e8;border-color:rgba(125,134,224,.25)}
.hm-art-date{font-size:11.5px;color:var(--c-muted)}

/* ---------- 邀请卡 ---------- */
.hm-promo{background: linear-gradient(135deg, #4da8d8 10%, #7d5c1e 70%, #a0a9ef 100%);color:#ffffff;border-radius:18px;padding:20px;position:relative;overflow:hidden;box-shadow:0 10px 26px rgba(2,6,23,.35)}
.hm-promo::after{content:'';position:absolute;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.14);top:-60px;right:-40px}
.hm-promo h3{margin:0 0 6px;font-size:16px}
.hm-promo p{margin:0;font-size:12px;line-height:1.8;opacity:.95;position:relative;z-index:1}
.hm-promo .btn{margin-top:12px;background:#ffffff;color:#7a5a1c;border:none;font-weight:700;position:relative;z-index:1}

/* ---------- 趣味测试分类（两列，十块） ---------- */
.hm-fun-cats{margin-top:20px}
.hm-fun-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:760px){.hm-fun-grid{grid-template-columns:1fr}}
.hm-fun-cat{background: rgba(0, 0, 0, .15);border:1px solid var(--c-border);border-radius:18px;padding:14px 12px 8px;transition:border-color .2s,box-shadow .2s}
.hm-fun-cat:hover{border-color:rgba(125,134,224,.3);box-shadow:0 10px 26px rgba(2,6,23,.35)}
.hm-fun-cat-head{display:flex;align-items:center;justify-content:space-between;padding:0 4px 10px}
.hm-fun-cat-head h3{font-size:15px;margin:0;display:flex;align-items:center;gap:7px}
.hm-fun-cat-head h3::before{content:'';width:5px;height:14px;border-radius:999px;background:linear-gradient(180deg,#9aa3ef,#d9b45c)}
.hm-fun-cat-head a{font-size:11.5px;color:var(--c-muted);text-decoration:none}
.hm-fun-cat-head a:hover{color:var(--c-primary)}
.hm-fun-row{display:flex;align-items:center;gap:11px;padding:9px 8px;border-radius:12px;text-decoration:none;color:inherit;transition:background .15s}
.hm-fun-row:hover{background:rgba(0,0,0,.2)}
.hm-fun-row + .hm-fun-row{border-top:1px dashed var(--c-border)}
.hm-fun-ic{width:48px;height:48px;flex:none;display:flex;align-items:center;justify-content:center;font-size:20px;border-radius:99px;background:rgba(99,102,241,.01);border:1px solid rgba(129,140,248,.15)}
.hm-fun-info{flex:1;min-width:0}
.hm-fun-info b{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-fun-info span{font-size:11.5px;color:var(--c-muted)}
.hm-fun-arrow{color:var(--c-muted);font-size:12px;flex:none}
/* ---------- 趣味测试排行榜（右栏） ---------- */
.hm-fun-rank .hm-card-title{margin-bottom:6px}
.hm-rank-row{display:flex;align-items:center;gap:10px;padding:8px 4px;border-radius:12px;text-decoration:none;color:inherit;transition:background .15s}
.hm-rank-row:hover{background:rgba(0,0,0,.2)}
.hm-rank-row + .hm-rank-row{border-top:1px dashed var(--c-border)}
.hm-rank-no{flex:0 0 44px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;border-radius:12px;background:rgba(148,163,184,.14);color:var(--c-muted)}
.hm-rank-no.rank-1{background: linear-gradient(135deg, #f87171 50%, #cbd5e1);color:#2a1e08;}
.hm-rank-no.rank-2{background: linear-gradient(135deg, #0b6e96 50%, #cbd5e1);color:#1e293b}
.hm-rank-no.rank-3{background: linear-gradient(135deg, #d9b45c 50%, #cbd5e1);color:#1e293b}

/* ---------- 为什么选择（底部整行） ---------- */
.hm-feature-wrap{background: rgba(0, 0, 0, .15);border:1px solid var(--c-border);border-radius:18px;padding:20px;margin-top:20px}
.hm-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;    text-align: center}
.hm-feature-grid .hm-feature {background: rgba(0, 0, 0, .1);border: 1px solid rgba(0, 0, 0, .06);padding: 5px 9px;border-radius: 13px;}
@media (max-width:960px){
.hm-feature-grid{grid-template-columns:repeat(2,1fr)}}
.hm-feature .fi{font-size:26px;line-height:1}
.hm-feature b{display:block;margin:9px 0 4px;font-size:14px}
.hm-feature p{margin:0;font-size:12px;color:var(--c-muted);line-height:1.7}

/* ==================== 许愿功能（wish） ==================== */
.wish-page{max-width:1024px;margin:0 auto;padding:0}
.wish-wall-head,.wish-page-head{text-align:center;padding:0 14px}
.wish-wall-title h1,.wish-page-head h1{font-size:26px;margin:0 0 6px}
.wish-wall-title p,.wish-page-head p{margin:0;color:var(--c-muted);font-size:13px;line-height:1.7}
.wish-wall-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:540px;margin:16px auto 0}
.wish-stat-box{    background: rgba(0, 0, 0, .15);     border: 1px solid var(--c-border);border-radius:var(--radius,14px);padding:14px 8px;text-align:center}
.wish-stat-box b{display:block;font-size:22px;line-height:1.3;color:var(--c-primary,#7c5ce0);font-weight:700}
.wish-stat-box span{font-size:12px;color:var(--c-muted)}
.wish-wall-cta{margin-top:16px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.wish-filters{display: grid;grid-template-columns: repeat(8, 1fr);gap:8px;flex-wrap:wrap;justify-content:center;margin:18px 0 16px}
.wish-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top: 20px;}
@media (max-width:960px){.wish-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.wish-grid{grid-template-columns:1fr}.wish-filters{display: grid;grid-template-columns: repeat(4, 1fr);}}
.wish-card{display:block;    background: rgba(0, 0, 0, .15);
    border: 1px solid var(--c-border);border-radius:var(--radius,14px);overflow:hidden;color:inherit;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.wish-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.14);color:inherit}
.wish-card-done{background:linear-gradient(180deg,rgba(255,215,0,.06),var(--c-card,#fff) 45%);border-color:rgba(232,161,60,.55);box-shadow:inset 0 0 0 1px rgba(232,161,60,.18)}
.wish-card-done .wish-tag-done{background:rgba(232,161,60,.16);color:var(--c-gold,#c07a2b)}
.wish-card-done .wish-card-foot{border-top-color:rgba(232,161,60,.35);background:rgba(255,215,0,.05)}
.wish-bless-full{color:var(--c-gold,#c07a2b)}
.wish-card-top{display:flex;align-items:center;gap:10px;padding:14px 14px 0}
.wish-deity-img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid var(--c-border-2,var(--c-border));flex:none;background:var(--c-bg-2,#eee)}
.wish-card-tags{display:flex;gap:6px;flex-wrap:wrap}
.wish-tag{display:inline-block;font-size:11px;padding:3px 8px;border-radius:999px;background:var(--c-primary-soft,rgba(124,92,224,.12));color:var(--c-primary,#7c5ce0);white-space:nowrap}
.wish-tag-done{background:rgba(52,211,153,.14);color:var(--c-ok,#2e9e5b)}
.wish-card-body{padding:10px 14px 4px}
.wish-card-content{margin:0;font-size:13px;line-height:1.7;color:var(--c-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wish-card-meta{display:flex;justify-content:space-between;gap:8px;margin-top:8px;font-size:11px;color:var(--c-muted)}
.wish-card-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wish-card-time{flex:none}
.wish-card-foot{display:flex;justify-content:space-between;align-items:center;padding:10px 14px 12px;border-top:1px dashed var(--c-border)}
.wish-bless-num{font-size:12px;color:var(--c-primary,#7c5ce0);font-weight:600}
.wish-card-arrow{font-size:12px;color:var(--c-muted)}
/* 发布许愿 */
.wish-cat-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
@media (max-width:560px){.wish-cat-grid{grid-template-columns:repeat(4,1fr)}}
.wish-cat-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .05);border-radius:var(--radius-sm,10px);cursor:pointer;color:var(--c-text);font-size:14px;transition:all .15s ease}
.wish-cat-item:hover{border-color:var(--c-primary-2,var(--c-primary))}
.wish-cat-item.active{background:var(--c-primary-soft,rgba(124,92,224,.14));border-color:var(--c-primary,#7c5ce0);color:var(--c-primary,#7c5ce0);font-weight:600}
.wish-cat-ic{font-size:24px;line-height:1}
.wish-tip{font-size:12px;color:var(--c-muted);margin-top:12px;line-height:1.7}
.wish-deity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}

.wish-deity-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px;background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .05);border-radius:var(--radius,14px);cursor:pointer;color:var(--c-text);transition:all .15s ease}
.wish-deity-item:hover{border-color:var(--c-primary-2,var(--c-primary))}
.wish-deity-item.active{background:var(--c-primary-soft,rgba(124,92,224,.16));border-color:var(--c-primary,#7c5ce0);box-shadow:0 0 0 2px var(--c-primary-soft,rgba(124,92,224,.2))}
.wish-deity-item img{width:72px;height:72px;border-radius:50%;object-fit:cover;border:2px solid var(--c-border-2,var(--c-border))}
.wish-deity-item b{font-size:14px}
.wish-deity-item span{font-size:11px;color:var(--c-muted)}
.wish-name-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.wish-anon-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--c-muted);cursor:pointer;white-space:nowrap}
.wish-content-foot{display:flex;justify-content:space-between;gap:10px;margin-top:8px}
.wish-cost-row{display:flex;justify-content:space-between;align-items:center;font-size:14px}
.wish-cost{color:var(--c-gold,#e8a13c);font-size:20px;font-weight:700}
.wish-submit-row{display:flex;gap:12px;justify-content:center;align-items:center;padding:6px 0 20px}
/* 许愿详情 */
.wish-detail-card{padding:20px}
.wish-detail-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.wish-detail-deity{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.wish-detail-img{width:84px;height:84px;border-radius:50%;object-fit:cover;border:2px solid var(--c-border-2,var(--c-border));flex:none}
.wish-detail-deity-info{display:flex;flex-direction:column;gap:4px}
.wish-detail-deity-info b{font-size:17px}
.wish-detail-deity-info span{font-size:13px;color:var(--c-muted)}
.wish-detail-deity-info em{font-style:normal;color:var(--c-primary,#7c5ce0);font-weight:600}
.wish-detail-deity-info small{font-size:11px;color:var(--c-muted)}
.wish-detail-content{font-size:15px;line-height:1.9;padding:14px 0;border-top:1px dashed var(--c-border);border-bottom:1px dashed var(--c-border);margin-bottom:10px}
.wish-detail-time{font-size:12px;color:var(--c-muted);text-align:right;margin-bottom:16px}
.wish-progress{margin:14px 0 18px}
.wish-progress-head{display:flex;justify-content:space-between;font-size:13px;margin-bottom:8px}
.wish-progress-head b{color:var(--c-primary,#7c5ce0)}
.wish-progress-bar{height:10px;border-radius:999px;background:var(--c-bg-2,rgba(0,0,0,.08));overflow:hidden}
.wish-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#f59e0b,#f43f5e);transition:width .4s ease}
.wish-progress-tip{font-size:12px;color:var(--c-muted);margin-top:8px}
.wish-progress-tip.highlight,.wish-progress-tip b{color:var(--c-ok,#2e9e5b)}
.wish-action-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.wish-owner-box{background:var(--c-bg-2,transparent);border:1px dashed var(--c-border-2,var(--c-border));border-radius:var(--radius-sm,10px);padding:14px}
.wish-share-row{display:flex;gap:8px}
/* 首页许愿板块 */
.hm-wish-wrap{background: rgba(0, 0, 0, .15);border: 1px solid var(--c-border);border-radius:18px;padding:20px;margin-top:20px;text-align:center}
.hm-wish-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:680px;margin:0 auto}
@media (max-width:560px){.hm-wish-stats{gap:8px}}
.hm-wish-stat{background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .05);border-radius:var(--radius,14px);padding:16px 8px}
.hm-wish-stat b{display:block;font-size:26px;color:var(--c-primary,#7c5ce0);font-weight:700}
.hm-wish-stat span{font-size:12px;color:var(--c-muted)}
.hm-wish-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px;text-align:left}
@media (max-width:560px){.hm-wish-list{grid-template-columns:1fr}}
.hm-wish-item{display:flex;align-items:center;gap:10px;background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .05);border-radius:var(--radius-sm,10px);padding:10px 12px;color:inherit;text-decoration:none}
.hm-wish-item:hover{color:inherit;border-color:var(--c-primary-2,var(--c-primary))}
.hm-wish-img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none}
.hm-wish-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.hm-wish-body b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hm-wish-body span{font-size:11px;color:var(--c-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hm-wish-bless{font-size:12px;color:var(--c-primary,#7c5ce0);flex:none}
.hm-wish-cta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px}
/* 后台许愿统计 */
.stat-card-mini{    background: rgba(0, 0, 0, .15);     border: 1px solid var(--c-border);border-radius:var(--radius-sm,10px);padding:8px 14px;font-size:12px;color:var(--c-muted)}
.stat-card-mini b{color:var(--c-primary,#7c5ce0);font-size:16px;margin-left:4px}
/* 底部导航5项适配 */
.bottom-nav-inner .bn-item{flex:1 1 0;min-width:0}
.bottom-nav-inner .bn-item span{font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
/* 个人中心许愿卡片 */
.uc-card.relative .badge-count{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#f43f5e;color:#fff;font-size:11px;font-weight:700;line-height:20px;text-align:center;box-shadow:0 2px 8px rgba(244,63,94,.4)}
.uc-card-wish .uc-ic{background:linear-gradient(135deg,rgba(244,63,94,.16),rgba(245,158,11,.16));color:#f43f5e}
.uc-card-wish .uc-ic svg{width:22px;height:22px}

/* ==================== 周公解梦（dream） ==================== */
.hm-dream-wrap{background:rgba(0, 0, 0, .15);border:1px solid var(--c-border);border-radius:18px;padding:20px;margin-top:20px;text-align:center}
.hm-dream-form{display:flex;gap:10px;max-width:560px;margin:14px auto 0}
.hm-dream-form input{flex:1;min-width:0;height:44px;padding:0 16px;border:1px solid var(--c-border);border-radius:12px;background:rgba(255,255,255,.06);color:inherit;font-size:14px;outline:none}
.hm-dream-form button{height:44px;padding:0 22px;border:0;border-radius:12px;background:var(--c-primary,#7c5ce0);color:#fff;font-size:14px;cursor:pointer;flex:none}
.hm-dream-cats{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:14px}
.hm-dream-cats a{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:inherit;text-decoration:none;font-size:13px}
.hm-dream-cats a:hover{border-color:var(--c-primary,#7c5ce0);color:var(--c-primary,#7c5ce0)}
.hm-dream-cats a i{font-style:normal;font-size:11px;color:var(--c-muted)}
.hm-dream-hot{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px;font-size:12px}
.hm-dream-hot span{color:var(--c-muted);line-height:26px}
.hm-dream-hot a{color:var(--c-muted);text-decoration:none;border-bottom:1px dashed rgba(128,128,128,.4);line-height:26px}
.hm-dream-hot a:hover{color:var(--c-primary,#7c5ce0)}
.dream-hero{text-align:center;padding:0 20px}
.dream-hero h1{margin:0 0 8px;font-size:26px}
.dream-hero p{margin:0;color:var(--c-muted);font-size:13px;line-height:1.7}
.dream-search{display:flex;gap:10px;max-width:560px;margin:14px auto 0}
.dream-search input{flex:1;min-width:0;height:44px;padding:0 16px;border:1px solid var(--c-border);border-radius:12px;background:rgba(255,255,255,.06);color:inherit;font-size:14px;outline:none}
.dream-list{margin-top:14px;position: relative;
    background: rgba(0, 0, 0, .15);
    border: 1px solid var(--c-border);
    border-radius: var(--radius);
    padding: 16px;
    margin-bottom: 14px;}
@media (max-width:720px){.dream-list{grid-template-columns:repeat(2,1fr)}}
.dream-item{display: inline-block;
    margin: 5px 3px;
    border-bottom: 1px dashed rgba(128, 128, 128, .4);
    text-decoration: none;
    color: inherit;
    font-size: 13px;}
.dream-item:hover{border-color:var(--c-primary,#7c5ce0)}
.dream-item-title{display:block;}

.dream-cat{font-style:normal;font-size:11px;color:var(--c-primary,#7c5ce0);background:rgba(124,92,224,.12);padding:2px 8px;border-radius:999px;margin-left:6px;vertical-align:2px}
.dream-item-content{display:block;font-size:12px;color:var(--c-muted);line-height:1.7;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.dream-detail{max-width:1024px;margin:0 auto}
.dream-detail-head{text-align:center;padding:0 0 6px}
.dream-detail-head h1{margin:0 0 8px;font-size:24px}
.dream-meta{display:flex;gap:10px;justify-content:center;align-items:center;font-size:12px;color:var(--c-muted)}
.dream-detail-content{padding:18px;line-height:2;font-size:14.5px}
.dream-detail-content p{margin:0 0 12px;text-indent:2em}
.dream-related{margin-top:12px}
.dream-related a{display:inline-block;margin:5px 3px;text-decoration:none;border-bottom: 1px dashed rgba(128, 128, 128, .4);color:inherit;font-size:13px}
.dream-related a:hover{border-color:var(--c-primary,#7c5ce0)}
.dream-prevnext{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 14px;font-size:13px}
.dream-prevnext a{color:inherit;text-decoration:none;border-bottom: 1px dashed rgba(128, 128, 128, .4);margin:5px 3px;max-width:49%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dream-prevnext a:hover{border-color:var(--c-primary,#7c5ce0);color:var(--c-primary,#7c5ce0)}
.pn-next::before{content: "下篇：";}
.pn-prev::before{content: "上篇：";}
.dream-prevnext .pn-disabled{color:var(--c-muted);opacity:.6;padding:8px 12px}


/* ========== 周公解梦：分类 / 音序 / 内链 / 热门 ========== */
.dream-toolbar{background: rgba(0, 0, 0, .15);
    border: 1px solid var(--c-border);
    border-radius: var(--radius);
    padding: 16px;
    margin-bottom: 14px;margin-top:14px}
.dream-cat-chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:5px;padding:7px 13px;border-radius:9px;border:1px solid var(--c-border);color:inherit;text-decoration:none;font-size:13px;transition:border-color .15s,color .15s,background .15s}
.chip i{font-style:normal;font-size:11px;color:var(--c-muted)}
.chip:hover,.chip.on{border-color:var(--c-primary,#7c5ce0);color:var(--c-primary,#7c5ce0);background:rgba(124,92,224,.08)}
.dream-letter{display:flex;align-items:flex-start;gap:10px;margin-top:14px;flex-wrap:wrap}
.dream-letter-label{font-size:12px;color:var(--c-muted);line-height:30px;flex:none}
.dream-letter-list{display:flex;flex-wrap:wrap;gap:6px}
.dream-letter-list a,.dream-letter-list span{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-width:34px;height:30px;padding:0 6px;border:1px solid var(--c-border);border-radius:8px;font-size:13px;text-decoration:none;color:inherit;transition:border-color .15s,color .15s}
.dream-letter-list a i{font-style:normal;font-size:10px;color:var(--c-muted)}
.dream-letter-list a:hover,.dream-letter-list a.on{border-color:var(--c-primary,#7c5ce0);color:var(--c-primary,#7c5ce0);background:rgba(124,92,224,.08)}
.dream-letter-list span.none{opacity:.35;cursor:not-allowed}
.dream-item-meta{display:block;font-size:11px;color:var(--c-muted);margin-top:6px}
.dream-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.dream-tags a{padding:4px 10px;border:1px dashed var(--c-border);border-radius:999px;color:var(--c-muted);font-size:12.5px;text-decoration:none;transition:color .15s,border-color .15s}
.dream-tags a:hover{color:var(--c-primary,#7c5ce0);border-color:var(--c-primary,#7c5ce0)}
.dream-ilink{color: var(--c-text);border-bottom: 1px dashed rgba(128, 128, 128, .4);text-decoration:none}
.dream-ilink:hover{color:var(--c-primary-2,var(--c-primary));border-bottom-style:solid}
.dream-seo-text {
    background: rgba(0, 0, 0, .15);
    border: 1px solid var(--c-border);
    border-radius: var(--radius);
    padding: 16px;
    margin-bottom: 14px;
    text-indent: 2em;
}
.dream-seo-text p{margin:0 0 8px;font-size:13px;color:var(--c-muted);line-height:1.9}
.hm-dream-desc{font-size:13px;color:var(--c-muted);margin:10px 0 0}
.hm-dream-letters{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:12px;font-size:12px}
.hm-dream-letters span{color:var(--c-muted);line-height:26px}
.hm-dream-letters a{color:var(--c-muted);text-decoration:none;border-bottom:1px dashed rgba(128,128,128,.4);line-height:26px}
.hm-dream-letters a:hover{color:var(--c-primary,#7c5ce0)}
@media (max-width:560px){.dream-letter-list a{min-width:30px;padding:0 4px}.dream-letter-label{display:none}}
/* ================== 星空点点 + 流星（保持原背景，追加层） ================== */
.site-main::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:
    radial-gradient(1px 1px at 6% 9%,rgba(255,255,255,.6) 50%,transparent 100%),
    radial-gradient(1.4px 1.4px at 14% 24%,rgba(255,255,255,.4) 50%,transparent 100%),
    radial-gradient(1px 1px at 23% 41%,rgba(165,180,252,.5) 50%,transparent 100%),
    radial-gradient(1.8px 1.8px at 31% 15%,rgba(255,255,255,.35) 50%,transparent 100%),
    radial-gradient(2.1px 2.1px at 76% 8%,rgba(255,255,255,.3) 50%,transparent 100%),
    radial-gradient(1.2px 1.2px at 32% 26%,rgba(233,196,106,.42) 50%,transparent 100%),
    radial-gradient(1px 1px at 88% 22%,rgba(255,255,255,.6) 50%,transparent 100%),
    radial-gradient(1.5px 1.5px at 52% 48%,rgba(255,255,255,.35) 50%,transparent 100%),
    radial-gradient(1.1px 1.1px at 70% 55%,rgba(255,255,255,.5) 50%,transparent 100%);
  animation:plStarsFloat 3s ease-in-out infinite alternate;
}
.neon-bg::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:
   radial-gradient(1px 1px at 6% 9%,rgba(255,255,255,.6) 50%,transparent 100%),
    radial-gradient(1.4px 1.4px at 14% 24%,rgba(255,255,255,.4) 50%,transparent 100%),
    radial-gradient(1px 1px at 23% 41%,rgba(165,180,252,.5) 50%,transparent 100%),
    radial-gradient(1.8px 1.8px at 31% 15%,rgba(255,255,255,.35) 50%,transparent 100%),
    radial-gradient(2.1px 2.1px at 76% 8%,rgba(255,255,255,.3) 50%,transparent 100%),
    radial-gradient(1.2px 1.2px at 32% 26%,rgba(233,196,106,.42) 50%,transparent 100%),
    radial-gradient(1px 1px at 88% 22%,rgba(255,255,255,.6) 50%,transparent 100%),
    radial-gradient(1.5px 1.5px at 52% 48%,rgba(255,255,255,.35) 50%,transparent 100%),
    radial-gradient(1.1px 1.1px at 70% 55%,rgba(255,255,255,.5) 50%,transparent 100%);

  animation:plStarsFloat 7s ease-in-out infinite alternate;
}
@keyframes plStarsFloat{0%, 100% { opacity: 1; }50% { opacity: 0; }}
/* 流星：15s  */
.neon-bg::after{
  content:"";position:absolute;z-index:0;pointer-events:none;
  width:150px;height:2px;border-radius:999px;
  background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,0));
  box-shadow:0 0 8px rgba(255,255,255,.35);
  opacity:0;top:-4%;left:106%;
  animation:plMeteor 15s linear 5s infinite;
}
@keyframes plMeteor{
  0%{transform:rotate(-38deg) translateX(0);opacity:0}
  2%{opacity:.95}
  17%{transform:rotate(-38deg) translateX(-170vw);opacity:0}
  100%{transform:rotate(-38deg) translateX(-170vw);opacity:0}
}
@media (prefers-reduced-motion:reduce){.neon-bg::before,.neon-bg::after{animation:none!important}.neon-bg::after{display:none}}

/* ============================================================
   神明灵签样式（原 assets/lottery/lottery.css 合并至此，随主题统一加载）
   ============================================================ */
/* ============================================================
   神明灵签 v3：入口网格 / 神明大图 / 28 神切换条 / 签文双栏 / 推荐区
   ============================================================ */
.lottery-page2{display:flex;flex-direction:column;gap:5px}
.lottery-page2 a{text-decoration:none}
/* 局部间距工具（本功能页独立生效，不依赖主题版本） */
.lottery-page2 .p-24-16{padding:24px 16px}
.lottery-page2 .p-20-14{padding:20px 14px}
.lottery-page2 .p-16-12{padding:16px 12px}
.lottery-page2 .my-12{margin:12px 0}
.lottery-page2 .mb-0{margin-bottom:0}

/* ---------- 通用小标题行 ---------- */
.ld-sec-h{display:flex;align-items:center;    justify-content: center;gap:10px;flex-wrap:wrap}
.ld-sec-h h1{font-size:35px;color: var(--c-primary, #7c5ce0);letter-spacing:.5px}
.ld-sec-h span{font-size:11.5px;color:var(--c-muted,#94a3b8);font-weight:400}

/* ---------- /lottery 入口：28 神明图标网格 ---------- */
.li-hero h1{font-size:25px;margin:8px 0 10px;letter-spacing:1px}
.li-hero p{margin:0 auto;max-width:760px;line-height:1.9;color:var(--c-muted,#94a3b8);font-size:13.5px}
.li-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:10px}
.li-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 6px 10px;border-radius:14px;
  text-align:center;color:var(--c-text,#e5e7eb);background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .05);transition:transform .15s,border-color .15s,box-shadow .15s}
.li-item:hover{transform:translateY(-3px);border-color:rgba(255,205,90,.75);box-shadow:0 10px 24px rgba(0,0,0,.35);color:#ffe6ad}
.li-item img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35));border-radius: 99px;
    border: 2px solid var(--c-border-2, var(--c-border));}
.li-item .li-name{font-size:13.5px;font-weight:700;letter-spacing:1px;line-height:1.3}
@media(max-width:980px){.li-grid{grid-template-columns:repeat(5,1fr)}}
@media(max-width:680px){.li-grid{grid-template-columns:repeat(4,1fr);gap:9px}}
@media(max-width:430px){.li-grid{grid-template-columns:repeat(3,1fr)}.li-item img{width:56px;height:56px}}
.lt-note{font-size:12px;color:var(--c-muted,#94a3b8);text-align:center;line-height:1.8}

/* ---------- 神明大图（神明页顶部） ---------- */
.ld-hero{display:flex;justify-content:center;align-items:center;}
.ld-hero img{margin:0 auto;border-radius: 14px;}

/* ---------- 签筒区 ---------- */
.ld-zone{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.ld-tube-btn{cursor:pointer;user-select:none;position:relative;width:120px;display:flex;align-items:flex-end;
  justify-content:center;background:transparent;border:0;padding:0}
.ld-tube-btn .ld-tube-img{height:158px;width:auto;transition:transform .18s}
.ld-tube-btn:hover .ld-tube-img{transform:translateY(-5px) scale(1.03)}
.ld-zone-tip{margin-top:6px;font-size:12.5px;color:var(--c-muted,#94a3b8);line-height:1.9;max-width:560px}
.ld-zone-tip .kaiti{color:#e8c878}

/* ---------- 28 位神明切换横条 ---------- */
.ld-strip-box{display:flex;align-items:center;gap:10px;margin-top:12px}
.ld-arr{flex:none;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:22px;line-height:1;color:#f5c34d;
  background:rgba(245,195,77,.08);border:1px solid rgba(245,195,77,.35);transition:background .15s,color .15s}
.ld-arr:hover{background:rgba(245,195,77,.25);color:#ffe6ad}
.ld-strip{flex:1;min-width:0;display:flex;gap:10px;overflow-x:auto;padding:6px 2px 10px;scroll-behavior:smooth;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.ld-strip::-webkit-scrollbar{height:5px}
.ld-strip::-webkit-scrollbar-thumb{background:rgba(245,195,77,.28);border-radius:99px}
.ld-strip-it{flex:0 0 auto;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:6px;
  width:96px;padding:10px 4px 8px;border-radius:14px;text-align:center;color:var(--c-muted,#b6c0cf);
  background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);transition:transform .15s,border-color .15s,background .15s}
.ld-strip-it img{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 5px 9px rgba(0,0,0,.35));border-radius: 99px;
    border: 2px solid var(--c-border-2, var(--c-border));}
.ld-strip-it span{font-size:12.5px;font-weight:600;line-height:1.3;white-space:nowrap}
.ld-strip-it:hover{border-color:rgba(245,195,77,.6);color:#f5c34d;background:rgba(245,195,77,.07)}
.ld-strip-it.on{background:linear-gradient(170deg,rgba(245,195,77,.16),rgba(245,195,77,.05));border-color:#f5c34d;color:#ffe6ad}
.ld-strip-hint{white-space:nowrap}
@media(max-width:680px){.ld-arr{display:none}.ld-strip-it{width:86px}.ld-strip-it img{width:52px;height:52px}}

/* ---------- 神明简介 / 求签说明 ---------- */
.ld-intro-body{font-size:13.5px;line-height:2;color:var(--c-text,#d6dbe6);text-align:justify}
.ld-intro-body p{margin:0 10px 20px;text-indent:2em;font-size: 18px;}
.ld-intro-body p:last-child{margin-bottom:0}
.ld-guide ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:13px;line-height:1.8;color:var(--c-muted,#aab3c2)}
.ld-guide ul b{color:#f5c34d}

/* ---------- 今日已抽 ---------- */
.ld-done-h{font-size:16px;font-weight:800;color:#4ade80;margin-bottom:14px;text-align:center;letter-spacing:1px}
.ld-result{display:flex;gap:16px;align-items:flex-start;text-align:left}
.ld-result img{width:118px;height:auto;border-radius:10px;border:1px solid rgba(255,255,255,.12);flex:none;background:#0f172a}
.ld-result-info{flex:1;min-width:0}
.ld-level{display:inline-block;padding:3px 12px;border-radius:99px;font-size:12px;font-weight:800}
.ld-earn{margin-top:12px;padding:10px 14px;border-radius:12px;background:rgba(245,195,77,.1);
  border:1px dashed rgba(245,195,77,.4);font-size:13px;color:#f8d987;line-height:1.8}
.ld-earn b{color:#f5c34d}
@media(max-width:560px){.ld-result{flex-direction:column;align-items:center;text-align:center}.ld-result-info{text-align:center}}

/* ---------- 今日记录行 ---------- */
.ld-record-row{display:flex;align-items:center;gap:10px;padding:8px 2px;border-bottom:1px dashed rgba(255,255,255,.08);
  font-size:12.5px;color:var(--c-muted,#b6c0cf);flex-wrap:wrap}
.ld-record-row::before {
    content: "• ";
    color: rgba(148, 163, 184, .14);
    font-size: 1.2em;
    font-weight: bold;
    margin-right: 4px;
}
.ld-record-row:last-child{border-bottom:0}
.ld-record-row b{color:var(--c-text,#e5e7eb)}
.ld-record-row .pts-ok{color:#4ade80;font-weight:700}
.ld-record-row .pts-zero{color:#94a3b8}
.ld-record-row .ml-auto{margin-left:auto;flex:none}
.ld-record-row a.ml-auto:hover{color:#f5c34d}

/* ---------- 全部签文链接 ---------- */
.ld-sticks{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:7px}
.ld-stick-link{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 2px;border-radius:9px;font-size:12px;
  color:var(--c-text,#e5e7eb);background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);transition:transform .12s,border-color .12s}
.ld-stick-link:hover{border-color:#f5c34d;color:#f5c34d}
.ld-stick-link b{font-size:18px}
.ld-stick-link small{font-size:9px;opacity:.72;line-height:1}

/* ---------- 单签详情双栏 ---------- */
.st2-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ls-back{font-size:12.5px;color:var(--c-muted,#94a3b8)}
.ls-back:hover{color:#f5c34d}
.st2-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
.st2-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.st2-side{display:flex;flex-direction:column;}
@media(max-width:900px){.st2-layout{grid-template-columns:minmax(0,1fr)}}
.st2-body{overflow:hidden}
.st2-body h1{font-size: 30px;text-align:center;margin-bottom: 20px;    color: var(--c-primary, #7c5ce0);}
.st2-body .st2-img{float:right;max-width:340px;height:auto;border-radius:12px;
  border:1px solid rgba(255,255,255,.14);background:#0f172a;margin:2px 0 14px 18px}
.st2-text{font-size:13.5px;line-height:2;color:#d6dbe6;text-align:justify}
.st2-text p{margin:0 10px 10px;text-indent: 2em;font-size: 16px;line-height: 1.5;}
.st2-text p:last-child{margin-bottom:0}
.st2-text b{color:#f5c34d;font-weight:700;font-size: 20px;}
@media(max-width:640px){.st2-body .st2-img{float:none;display:block;width:auto;max-width:min(100%,320px);margin:0 auto 14px}}
.st2-pager{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.st2-deities{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.st2-deities a{display:block;padding:7px 2px;text-align:center;font-size:12px;border-radius:9px;color:var(--c-text,#e5e7eb);
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);transition:border-color .12s,color .12s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st2-deities a:hover{border-color:#f5c34d;color:#f5c34d}
@media(max-width:900px){.st2-deities{grid-template-columns:repeat(7,1fr)}}
@media(max-width:640px){.st2-deities{grid-template-columns:repeat(4,1fr)}}

/* ---------- 关联推荐 ---------- */
.st2-tests{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.st2-test{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px 12px;border-radius:13px;text-align:center;
  color:var(--c-text,#e5e7eb);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);transition:transform .15s,border-color .15s}
.st2-test:hover{border-color:rgba(245,195,77,.6);background:rgba(245,195,77,.06)}
.st2-test .st2-test-ic{font-style:normal;font-size:30px;line-height:1}
.st2-test .st2-test-img{width:56px;height:56px;object-fit:cover;border-radius:50%;
  background:#0f172a;border:1px solid rgba(255,255,255,.14)}
.st2-test .st2-test-name{font-size:12.5px;font-weight:600;line-height:1.45}
@media(max-width:560px){.st2-tests{grid-template-columns:repeat(3,1fr);gap:8px}.st2-test .st2-test-ic{font-size:26px}.st2-test .st2-test-img{width:46px;height:46px}}
.st2-fun{margin:0;padding:0 20px;display:grid;gap:4px 18px}
.st2-fun li{padding:5px 0;border-bottom:1px dashed rgba(255,255,255,.07);font-size:12.5px}
.st2-fun a{color:var(--c-muted,#b6c0cf)}
.st2-fun a:hover{color:#f5c34d}
@media(max-width:560px){.st2-fun{grid-template-columns:1fr}}

/* ============================================================
   仿每日一签抽签浮层（签筒摇动 -> 灵签升起）
   ============================================================ */
.ml-lot-mask{position:fixed;inset:0;z-index:9990;display:flex;align-items:center;justify-content:center;
  background:rgba(10,14,25,.9);backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.ml-lot-mask.show{opacity:1;visibility:visible}
.ml-lot-box{text-align:center;color:#e2e8f0;padding:24px}
.ml-lot-stage{position:relative;width:220px;height:190px;margin:0 auto 18px}
.ml-lot-tube{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);width:120px;height:140px;transform-origin:50% 100%;animation:mlShake 1s ease-in-out infinite}
.ml-lot-tube .tube-top{position:absolute;left:50%;transform:translateX(-50%);bottom:92px;width:132px;height:26px;border-radius:14px;
  background:linear-gradient(180deg,#c9a24e,#a67c2e);border:2px solid rgba(255,255,255,.16);box-shadow:0 4px 12px rgba(200,160,70,.28)}
.ml-lot-tube .tube-body{position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:110px;height:96px;border-radius:14px 14px 30px 30px;
  background:linear-gradient(180deg,#b98a35,#8a6420);border:2px solid rgba(255,255,255,.14);
  box-shadow:0 12px 26px rgba(200,160,70,.25),inset 0 -16px 26px rgba(0,0,0,.32)}
.ml-lot-tube .stick{position:absolute;bottom:96px;width:6px;border-radius:4px;background:linear-gradient(180deg,#e8cd8a,#c9a24e);box-shadow:0 2px 6px rgba(0,0,0,.4)}
.ml-lot-tube .stick.s1{left:24px;height:58px;transform:rotate(-18deg);animation:mlStick1 1.1s ease-in-out infinite}
.ml-lot-tube .stick.s2{left:52px;height:68px;transform:rotate(-5deg);animation:mlStick2 1.1s ease-in-out infinite .14s}
.ml-lot-tube .stick.s3{left:82px;height:54px;transform:rotate(14deg);animation:mlStick3 1.1s ease-in-out infinite .22s}
.stick-rise{position:absolute;left:50%;bottom:104px;width:7px;height:86px;margin-left:-3px;border-radius:6px;
  background:linear-gradient(180deg,#f0d999,#d4ad55);box-shadow:0 0 16px rgba(240,217,153,.5);animation:mlRise 1.6s ease-in-out infinite}
.ml-lot-spark{position:absolute;width:6px;height:6px;border-radius:50%;background:#e8cd8a;box-shadow:0 0 8px rgba(232,205,138,.6);animation:mlFloat 2.1s ease-in-out infinite}
.ml-lot-spark.sp1{left:6px;top:40px}
.ml-lot-spark.sp2{right:8px;top:70px;animation-delay:.5s;background:#f0d999;box-shadow:0 0 8px rgba(240,217,153,.55)}
.ml-lot-spark.sp3{left:28px;bottom:12px;animation-delay:.9s}
.ml-lot-spark.sp4{right:30px;bottom:6px;animation-delay:1.3s}
.ml-lot-text{font-size:16px;font-weight:600;letter-spacing:1px}
.ml-lot-sub{font-size:12px;color:rgba(226,232,240,.65);margin-top:10px;line-height:1.8}
.ml-lot-load{width:130px;height:4px;border-radius:999px;margin:16px auto 0;background:rgba(255,255,255,.12);overflow:hidden}
.ml-lot-load i{display:block;height:100%;width:40%;border-radius:999px;background:linear-gradient(90deg,#d4ad55,#e8cd8a);animation:mlLoad 1.1s ease-in-out infinite}
@keyframes mlShake{0%,100%{transform:translateX(-50%) rotate(0deg)}25%{transform:translateX(-50%) rotate(-6deg)}75%{transform:translateX(-50%) rotate(6deg)}}
@keyframes mlStick1{0%,100%{transform:rotate(-18deg) translateY(0)}50%{transform:rotate(-18deg) translateY(-8px)}}
@keyframes mlStick2{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(-5deg) translateY(-8px)}}
@keyframes mlStick3{0%,100%{transform:rotate(14deg) translateY(0)}50%{transform:rotate(14deg) translateY(-8px)}}
@keyframes mlRise{0%,28%{transform:translateY(0);opacity:0}42%{opacity:1}100%{transform:translateY(-46px);opacity:1}}
@keyframes mlFloat{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(-10px);opacity:1}}
@keyframes mlLoad{0%{margin-left:0}50%{margin-left:60%}100%{margin-left:0}}

/* ===== v8：/lottery 我的抽签积分统计 ===== */
.ld-record-row .mypts-num{color:#f5c34d;font-size:15px}
.lottery-page2 .ld-record-row{flex-wrap:wrap}

/* ===== 2026-10-30 首页/个人中心/任务中心修正（必须放在 pages.css 末尾覆盖） ===== */
/* 个人中心：合并列表允许红点溢出，许愿图标统一淡蓝 */
.uc-merged { overflow: visible; }
.uc-card-wish .uc-ic { background: var(--c-primary-soft) !important; color: var(--c-primary) !important; }
.uc-card-wish .uc-ic svg { color: var(--c-primary); }

/* 任务中心：每日任务到里程碑合并成一个容器，用线条分隔 */
.task-merged { display: flex; flex-direction: column; border: 1px solid var(--c-border); border-radius: 16px; overflow: hidden; background: rgba(0,0,0,.12); }
.task-merged .task-card { border: 0; border-radius: 0; background: transparent; border-bottom: 1px solid var(--c-border); }
.task-merged .task-card:last-child { border-bottom: 0; }
.task-merged .task-long { border-style: solid; }

/* 首页双栏：让右侧文章卡片填满左栏高度，底部对齐 */
.hm-cols { align-items: stretch; }
.hm-col-side { height: 100%; min-height: 0; }
.hm-articles { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }

/* 趣味测试整体圆角方框 */
.fz-box { border: 1px solid var(--c-border); border-radius: 16px; padding: 20px; background: rgba(0,0,0,.10); }
.fz-box .fz-tabs { margin-top: 0; }

/* 每日一签：头像在上、神名在下 */
.st2-deities a.hl-link { flex-direction: column; justify-content: center; text-align: center; gap: 4px; padding: 7px 2px; border: 0; background: none; }
.st2-deities a.hl-link:hover { background: rgba(255,255,255,.04); border: 0; }
.st2-deities .hl-ava { width: 39px; height: 39px; }
.st2-deities .hl-name { font-size: 10.5px; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }

.footer-kf { color: var(--c-primary-2, #a5b4fc); text-decoration: none; margin-left: 3px; }
.footer-kf:hover { text-decoration: underline; }

/* 趣味测试会员免费次数提示 */
.fun-vip-free { margin: 8px 0 14px; padding: 10px 14px; border-radius: 12px; background: rgba(217,180,92,.10); border: 1px solid rgba(217,180,92,.28); color: #e8d7a8; font-size: 12.5px; line-height: 1.7; }
.fun-vip-free b { color: #f5d9a0; }


/* ================= 趣味测试·维度画像结果页（break-up-style） ================= */
.ft-res{max-width:780px;margin:0 auto}
.ftr-head{display:flex;flex-direction:column;align-items:center;margin:18px 0 20px}
.ftr-emoji{width:96px;height:96px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;border-radius:50%;
  font-size:50px;line-height:1;
  background:radial-gradient(circle at 50% 38%,rgba(192,132,252,.30),rgba(244,114,182,.06) 68%,transparent);
  border:1px solid rgba(192,132,252,.35);box-shadow:0 10px 34px rgba(147,51,234,.22)}
.ftr-title{font-size:24px;margin:0 0 8px;text-align:center;letter-spacing:1px}
.ftr-tag{font-size:14px;line-height:1.75;color:var(--c-muted);text-align:center;margin:0 auto;max-width:24em}
.ftr-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:10px;font-size:12px;color:var(--c-muted);opacity:.92}
.ftr-meta i{font-style:normal;opacity:.5}
.ftr-ratio{margin-top:12px;padding:6px 14px;border-radius:999px;font-size:12.5px;color:#f5d9a0;
  background:rgba(217,180,92,.12);border:1px solid rgba(217,180,92,.32)}

.ft-card{background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--radius)}
.ft-sec{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin:0 0 14px}
.ft-sec h2{font-size:15px;margin:0;font-weight:700}
.ft-sec em{font-style:normal;font-size:11.5px;color:var(--c-muted)}

.ft-radar{max-width:340px;margin:0 auto 4px}
.ft-radar-svg{width:100%;aspect-ratio:1 / 1;display:block}
.ft-radar-cap{text-align:center;font-size:11.5px;color:var(--c-muted);margin-top:2px}

.ft-dim-list{display:flex;flex-direction:column;gap:9px;margin-top:8px}
.ft-dim-row{display:grid;grid-template-columns:5.2em 1fr 2.4em;align-items:center;gap:10px;font-size:12.5px}
.ft-dim-name{color:var(--c-muted)}
.ft-dim-row.is-top .ft-dim-name{color:var(--c-text);font-weight:700}
.ft-dim-track{height:8px;border-radius:99px;background:rgba(148,163,184,.16);overflow:hidden}
.ft-dim-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#8b5cf6,#d946ef)}
.ft-dim-row.is-top .ft-dim-track i{background:linear-gradient(90deg,#c084fc,#f472b6);box-shadow:0 0 12px rgba(244,114,182,.45)}
.ft-dim-val{text-align:right;font-weight:700;color:var(--c-text)}
.ft-dim-row.is-top .ft-dim-val{color:#f9a8d4}

.ft-read{margin:16px 0 0;padding:12px 14px;border-radius:12px;font-size:13px;line-height:1.85;color:#cbd5e1;
  background:rgba(139,92,246,.10);border:1px solid rgba(139,92,246,.22);text-align:justify}
.ft-top3{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ft-top3-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:12px;
  color:#e9d5ff;background:rgba(139,92,246,.16);border:1px solid rgba(192,132,252,.30)}
.ft-top3-chip i{font-style:normal;font-size:10px;width:15px;height:15px;border-radius:50%;display:inline-flex;
  align-items:center;justify-content:center;background:linear-gradient(135deg,#c084fc,#f472b6);color:#1a1030;font-weight:700}

.ft-aid-list{display:flex;flex-direction:column;gap:10px}
.ft-aid-item{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border-radius:12px;
  background:rgba(0,0,0,.16);border:1px solid var(--c-border)}
.ft-aid-no{flex:none;font-size:11px;font-weight:700;color:#f5d9a0;background:rgba(217,180,92,.14);
  border-radius:8px;padding:3px 8px;letter-spacing:.4px}
.ft-aid-text{font-size:13px;line-height:1.75;color:#cbd5e1}

.ft-share-acts{display:flex;flex-wrap:wrap;gap:10px}
.ft-share-tip{margin:12px 0 0;font-size:12px;line-height:1.7;color:var(--c-muted)}
.ft-share-tip b{color:#f5d9a0}

/* 详情页：六维介绍 */
.ft-dim-intro{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ft-dim-intro-item{padding:10px 12px;border-radius:12px;background:rgba(139,92,246,.08);border:1px solid rgba(139,92,246,.18)}
.ft-dim-intro-item b{display:block;font-size:13px;margin-bottom:3px;color:#e9d5ff}
.ft-dim-intro-item span{font-size:11.5px;line-height:1.6;color:var(--c-muted)}

/* 分享图弹层 */
.ftp-mask{position:fixed;inset:0;z-index:9998;display:flex;align-items:center;justify-content:center;padding:16px;
  background:rgba(6,4,16,.82);backdrop-filter:blur(3px);overflow-y:auto}
.ftp-mask[hidden]{display:none}
.ftp-box{width:100%;max-width:420px;margin:auto;padding:14px;border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.6);
  background:linear-gradient(180deg,#1b1636,#140f28);border:1px solid rgba(192,132,252,.28)}
.ftp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.ftp-head b{font-size:14px}
.ftp-close{background:transparent;border:0;color:var(--c-muted);cursor:pointer;padding:4px;border-radius:8px;line-height:0}
.ftp-close:hover{color:var(--c-text);background:rgba(255,255,255,.06)}
.ftp-body{border-radius:12px;overflow:hidden;background:#0b0a1e}
.ftp-body img{display:block;width:100%;height:auto}
.ftp-tip{font-size:11.5px;line-height:1.6;color:var(--c-muted);margin:10px 2px 12px;text-align:center}
.ftp-acts{display:flex;gap:8px;flex-wrap:wrap}
.ftp-acts .btn{flex:1;min-width:110px;justify-content:center;text-align:center}

@media (max-width:560px){
  .ftr-emoji{width:82px;height:82px;font-size:42px}
  .ftr-title{font-size:21px}
  .ft-dim-row{grid-template-columns:4.4em 1fr 2.2em;gap:8px;font-size:12px}
  .ft-share-acts .btn{width:100%}
  .ft-dim-intro{grid-template-columns:1fr 1fr}
}

/* ================= 趣味测试·结果保存 / 已测角标 / 查询 TAB（全站通用） ================= */
/* 列表卡片右上角「已测」斜角标 */
.fun-strip{overflow:hidden}
.fun-seen{position:absolute;top:13px;right:-40px;width:132px;padding:4px 0;text-align:center;
  transform:rotate(42deg);transform-origin:center;font-size:11px;font-weight:800;letter-spacing:3px;
  color:#062a33;background:linear-gradient(90deg,#67e8f9,#22d3ee);
  z-index:3;pointer-events:none}


/* 结果页：已保存提示条 */
.ft-saved{display:flex;align-items:center;gap:10px;margin:0 0 16px;padding:10px 14px;border-radius:12px;
  background:rgba(52,211,153,.10);border:1px solid rgba(52,211,153,.28)}
.ft-saved-ic{flex:none;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#34d399,#10b981);color:#04231a;font-weight:900;font-size:13px;line-height:1}
.ft-saved-body{flex:1;min-width:0;font-size:12.5px;line-height:1.6;color:#cbd5e1;word-break:break-all}
.ft-saved-body b{display:block;font-size:13px;color:#a7f3d0;margin-bottom:2px}
.ft-saved-body i{font-style:normal;color:#f5d9a0;letter-spacing:.5px}
.ft-saved .btn{flex:none}

/* 详情页：测过提示 */
.fun-last{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:11px 14px;border-radius:12px;
  background:linear-gradient(135deg,rgba(139,92,246,.18),rgba(244,114,182,.10));
  border:1px solid rgba(192,132,252,.32)}
.fun-last-ic{flex:none;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#c084fc,#f472b6);color:#220c35;font-weight:900;font-size:13px;line-height:1}
.fun-last-body{flex:1;min-width:0;font-size:12.5px;line-height:1.6;color:#cbd5e1}
.fun-last-body b{display:block;font-size:13px;color:#e9d5ff;margin-bottom:2px}
.fun-last-body i{font-style:normal;color:#f9a8d4;font-weight:700}
.fun-last .btn{flex:none}

/* 记录中心 / 查询中心：TAB（用链接实现，可直接分享带 tab 的地址） */
.ft-tabs{grid-template-columns:repeat(2,minmax(0,1fr));max-width:440px}
.ft-tabs .fz-tab{display:flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;
  padding:10px 6px;font-size:13px;line-height:1.2}
.ft-tabs .fz-tab i{font-style:normal;font-size:11px;font-weight:700;color:#94a3b8;
  background:rgba(148,163,184,.16);border-radius:999px;padding:0 6px;line-height:16px}
.ft-tabs .fz-tab.is-on i{color:#0f172a;background:rgba(255,255,255,.6)}
.ft-record-tip{font-size:12.5px;line-height:1.7;color:var(--c-muted);padding:9px 12px;margin:0 0 12px;
  border-radius:10px;background:rgba(139,92,246,.08);border:1px solid rgba(139,92,246,.18)}
.ft-record-tip a{color:#c4b5fd}
.ft-record-result{color:#f9a8d4;font-weight:700}

@media (max-width:560px){
  .fun-seen{top:11px;right:-44px;width:128px;font-size:10.5px;letter-spacing:2px}
  .ft-saved,.fun-last{flex-wrap:wrap}
  .ft-saved .btn,.fun-last .btn{width:100%;text-align:center}
  .ft-tabs{max-width:none}
}

/* 记录表格：结果名过长时换行，避免按钮被挤出屏幕 */
.ft-record-result{color:#f9a8d4;font-weight:700;word-break:break-word}
.table-wrap .data td.ft-record-result{max-width:11em}
@media (max-width:560px){
  .table-wrap .data th,.table-wrap .data td{padding-left:6px;padding-right:6px}
  .table-wrap .data .btn-sm{padding:6px 8px;font-size:12px}
}

.ft-saved-body i{white-space:nowrap}

/* 已测角标：整体再收小一档，相关趣味测试里用更小的 .fun-seen-sm */
.fun-seen{top:12px;right:-38px;width:124px;padding:3px 0;font-size:10.5px;letter-spacing:2px}
.fun-seen-sm{top:7px;right:-34px;width:98px;padding:2px 0;font-size:9.5px;letter-spacing:1px}
.fun-strip-grid .fun-strip .fun-strip-title{font-size:14.5px}
.fun-strip-grid .fun-strip-intro{font-size:11.5px}
.fun-strip-grid .fun-strip-meta{font-size:11px}
@media (max-width:560px){
  .fun-seen{top:10px;right:-42px;width:120px;font-size:10px;letter-spacing:1.5px}
  .fun-seen-sm{top:6px;right:-30px;width:88px;padding:2px 0;font-size:9px;letter-spacing:.5px}
}

/* ================= 测算结果页·未解锁清单 / 解锁块 / 底部推荐 / 长图弹层 ================= */
/* 分析项清单（未解锁）：一个框内 3 列(桌面) / 2 列(手机)，右侧统一锁 */
.lock-card{margin:0 0 14px;padding:16px 16px 12px;border-radius:16px;background:var(--c-card,#1e293b);border:1px solid rgba(192,132,252,.30);box-shadow:0 10px 30px rgba(0,0,0,.22)}
.lock-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0 2px 12px}
.lock-head b{font-size:15px;color:#e9d5ff}
.lock-head span{flex:none;font-size:11.5px;color:var(--c-muted)}
.lock-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
@media (max-width:640px){.lock-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lock-item{display:flex;align-items:center;gap:6px;min-width:0;padding:10px 10px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--c-border)}
.lock-ic{flex:none;font-size:13px;line-height:1}
.lock-name{flex:1;min-width:0;font-size:12.5px;font-weight:600;color:var(--c-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lock-icon{flex:none;display:flex;align-items:center;color:#c4b5fd;opacity:.9}

/* 解锁块：两个按钮同一行（现金 / 积分），会员免费在保障行 */
.unlock-card{margin:0 0 14px;padding:16px;border-radius:16px;background:var(--c-card,#1e293b);border:1px solid rgba(192,132,252,.30)}
.uc-row{display:flex;gap:10px;align-items:stretch}
.uc-row .uc-form{flex:1;min-width:0;margin:0}
.uc-row .btn{width:100%;justify-content:center;white-space:nowrap}
.uc-row > .btn{flex:1;min-width:0}
@media (max-width:560px){.uc-row .btn{font-size:13px;padding-left:6px;padding-right:6px}}
.unlock-card .uc-note{margin-top:12px}
.uc-vip-link{color:#f5d9a0;text-decoration:none}

/* 底部推荐：与测算大全资料卡一致（6 列 / 手机 3 列），只留图标 + 名称 */
.rec-block{margin:14px 0 22px;padding:14px;border-radius:16px;background:var(--c-card,#1e293b);border:1px solid var(--c-border)}
.rec-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.rec-head b{font-size:15px;color:#e9d5ff}
.rec-head a{font-size:12px;color:var(--c-muted);text-decoration:none}
.rec-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
@media (max-width:760px){.rec-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}}
.rec-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;border-radius:12px;text-decoration:none;color:inherit;transition:background .16s}
.rec-item:hover{background:rgba(139,92,246,.10)}
.rec-thumb{width:100%;aspect-ratio:1/1;border-radius:20%;object-fit:cover;background:rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center;font-size:28px}
.rec-name{font-size:12.5px;font-weight:600;text-align:center;line-height:1.35;color:var(--c-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* 长图分享弹层 */
.tsm-mask{position:fixed;inset:0;z-index:9998;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(6,4,16,.86);backdrop-filter:blur(3px);overflow-y:auto}
.tsm-mask[hidden]{display:none}
.tsm-box{width:100%;max-width:440px;margin:auto;padding:14px;border-radius:18px;background:linear-gradient(180deg,#1b1636,#140f28);border:1px solid rgba(192,132,252,.28);box-shadow:0 24px 60px rgba(0,0,0,.6)}
.tsm-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.tsm-head b{font-size:14px}
.tsm-close{background:transparent;border:0;color:var(--c-muted);cursor:pointer;padding:4px;border-radius:8px;line-height:0}
.tsm-close:hover{color:var(--c-text);background:rgba(255,255,255,.06)}
.tsm-body{max-height:64vh;overflow:auto;border-radius:12px;background:#0b1020}
.tsm-body img{display:block;width:100%;height:auto}
.tsm-tip{font-size:11.5px;line-height:1.6;color:var(--c-muted);margin:10px 2px 12px;text-align:center}
.tsm-acts{display:flex;gap:8px;flex-wrap:wrap}
.tsm-acts .btn{flex:1;min-width:110px;justify-content:center;text-align:center}
