:root{
  --ink:#2b2118;--ink2:#4a3c2c;--paper:#f4ecd8;--paper2:#efe3c6;
  --red:#b23a2e;--red-d:#7a2d22;--gold:#c9a227;--gold-l:#e3c45a;--line:#d8c7a0;
  --bg-a:#f6efe0;--bg-b:#efe3c6;--card:#fdf8ee;--nav:rgba(251,246,232,.82);
  --royal:#6b3fa0;--royal-l:#8a5fc0;--jade:#1f7864;--jade-l:#2f9e85;
  --sapphire:#2a5d9f;--sapphire-l:#3f7fd0;--wine:#7a2740;--wine-l:#a23a58;
}
body.dark{
  --ink:#e9dcc0;--ink2:#c9b78a;--paper:#241d16;--paper2:#2c241b;
  --red:#d6554a;--red-d:#a33b30;--gold:#e3c45a;--gold-l:#f0d27a;--line:#4a3d2c;
  --bg-a:#1a1611;--bg-b:#221c15;--card:#2a221a;--nav:rgba(26,22,17,.82);
  --royal:#a87fe0;--royal-l:#c19ff0;--jade:#3fae97;--jade-l:#5fd0b8;
  --sapphire:#4f8fd8;--sapphire-l:#6fa8e8;--wine:#c5586e;--wine-l:#e07a90;
}
*{box-sizing:border-box;}
html,body{height:100%;}
body{
  margin:0;min-height:100vh;position:relative;
  font-family:"Songti SC","STSong","SimSun","Noto Serif SC",serif;
  color:var(--ink);background:linear-gradient(160deg,var(--bg-a),var(--bg-b));
  padding-top:64px;overflow-x:hidden;transition:background .5s,color .5s;
}
.ai-bg{position:fixed;inset:0;z-index:-5;object-fit:cover;width:100%;height:100%;opacity:.16;pointer-events:none;transition:opacity .5s;}
body.dark .ai-bg{opacity:.10;filter:brightness(.6);}
body::before{content:"";position:fixed;inset:0;z-index:-4;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* 动态层 */
.zen{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none;}
.zen-halo{position:absolute;top:42%;left:50%;width:min(820px,96vw);height:min(820px,96vw);transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle, rgba(201,162,39,.20) 0%, rgba(178,58,46,.08) 36%, transparent 68%);filter:blur(4px);animation:breathe 9s ease-in-out infinite;}
@keyframes breathe{0%,100%{transform:translate(-50%,-50%) scale(.92);opacity:.42;}50%{transform:translate(-50%,-50%) scale(1.08);opacity:1;}}
.cloud{position:absolute;opacity:.09;color:var(--gold);}
.cloud.a{top:13%;left:-25%;width:340px;animation:drift 62s linear infinite;}
.cloud.b{top:58%;left:-30%;width:270px;opacity:.06;animation:drift 88s linear infinite reverse;}
@keyframes drift{from{transform:translateX(0);}to{transform:translateX(150vw);}}
.lotus{position:absolute;bottom:-14px;left:50%;width:300px;transform:translateX(-50%);opacity:.12;color:var(--red);animation:sway 11s ease-in-out infinite;}
@keyframes sway{0%,100%{transform:translateX(-50%) rotate(-1.6deg);}50%{transform:translateX(-50%) rotate(1.6deg);}}
.zen-fall{position:absolute;top:-8%;color:var(--gold);opacity:0;font-size:20px;text-shadow:0 0 8px #c9a22755;animation:fall linear forwards;}
@keyframes fall{0%{transform:translateY(-10vh) rotate(0);opacity:0;}12%{opacity:.32;}88%{opacity:.32;}100%{transform:translateY(112vh) rotate(360deg);opacity:0;}}
.flash{position:fixed;top:40%;left:50%;width:10px;height:10px;border-radius:50%;transform:translate(-50%,-50%) scale(0);
  background:radial-gradient(circle,#fff6d8,rgba(201,162,39,.7) 40%,transparent 70%);z-index:5;pointer-events:none;opacity:0;}
.flash.go{animation:flash .7s ease-out forwards;}
@keyframes flash{0%{transform:translate(-50%,-50%) scale(0);opacity:.9;}100%{transform:translate(-50%,-50%) scale(70);opacity:0;}}

/* 导航 */
nav{position:fixed;top:0;left:0;right:0;height:64px;z-index:20;display:flex;align-items:center;
  padding:0 max(16px,4vw);background:var(--nav);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);box-shadow:0 2px 16px rgba(0,0,0,.06);}
.brand{font-family:"Kaiti SC","STKaiti","KaiTi",serif;font-size:22px;letter-spacing:4px;color:var(--red);font-weight:bold;display:flex;align-items:center;gap:8px;}
.brand .seal-mini{width:30px;height:30px;border-radius:6px;background:var(--red);color:var(--paper);display:flex;align-items:center;justify-content:center;font-size:13px;transform:rotate(-6deg);}
.nav-links{margin-left:auto;display:flex;gap:4px;align-items:center;}
.nav-links a{text-decoration:none;color:var(--ink2);font-size:15px;letter-spacing:2px;padding:8px 16px;border-radius:20px;cursor:pointer;transition:.2s;}
.nav-links a:hover{color:var(--red);background:rgba(178,58,46,.08);}
.nav-links a.active{color:#fff;background:linear-gradient(180deg,var(--red),var(--red-d));}
.nav-icon{margin-left:10px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--card);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;}
.nav-icon:hover{border-color:var(--gold);}

/* 视图 */
.view{display:none;width:100%;max-width:1080px;margin:0 auto;padding:24px 16px 60px;animation:fade .5s ease;}
.view.active{display:block;}
@keyframes fade{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
.view-title{font-family:"Kaiti SC","STKaiti","KaiTi",serif;text-align:center;font-size:30px;letter-spacing:8px;color:var(--red);margin:6px 0 4px;}
.view-sub{text-align:center;color:#8a7a5c;font-size:13px;letter-spacing:4px;margin-bottom:24px;}

/* 古桐木竹筒抽签（CSS 绘制，真竹质感） */
.qiuqian{position:relative;width:200px;height:300px;margin:10px auto 0;cursor:pointer;transform-origin:50% 85%;}
.qiuqian:active{transform:scale(.98);}
.qq-tube{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:150px;height:200px;}
.qq-body{position:absolute;bottom:0;left:0;width:100%;height:188px;border-radius:16px 16px 12px 12px;overflow:hidden;background:repeating-linear-gradient(0deg,rgba(74,50,26,.45) 0 2px,transparent 2px 42px),repeating-linear-gradient(0deg,rgba(205,170,120,.40) 2px 3px,transparent 3px 44px),linear-gradient(90deg,#6e4a28 0%,#c39a68 38%,#e0c193 50%,#c39a68 62%,#6e4a28 100%);box-shadow:inset 0 0 20px rgba(0,0,0,.35),0 12px 28px rgba(0,0,0,.30);}
.qq-body::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:100%;height:20px;border-radius:50%;background:linear-gradient(180deg,#e0c193,#c39a68);box-shadow:inset 0 2px 4px rgba(255,255,255,.45),0 1px 2px rgba(0,0,0,.3);}
.qq-mouth{position:absolute;top:6px;left:50%;transform:translateX(-50%);width:94%;height:24px;border-radius:50%;background:radial-gradient(ellipse at 50% 40%,#2b1c0e 0%,#4a3018 55%,#6e4a28 100%);z-index:2;}
.qq-band{position:absolute;left:0;width:100%;height:14px;background:linear-gradient(180deg,#e9c969,#b8902f 45%,#8a6a1f);box-shadow:0 1px 2px rgba(0,0,0,.3),inset 0 1px 1px rgba(255,255,255,.5);z-index:3;}
.qq-band.top{top:36px;}
.qq-band.bottom{bottom:20px;}
.qq-label{position:absolute;top:52%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(180deg,#b23a2e,#7a2d22);color:#f4d98a;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:20px;letter-spacing:4px;padding:8px 6px;border-radius:6px;writing-mode:vertical-rl;box-shadow:0 2px 6px rgba(0,0,0,.35);z-index:4;}
.qq-sticks{position:absolute;bottom:185px;left:50%;transform:translateX(-50%);width:124px;height:130px;z-index:5;}
.qq-stick{position:absolute;bottom:0;width:8px;border-radius:5px 5px 2px 2px;background:repeating-linear-gradient(0deg,rgba(74,50,26,.45) 0 1.5px,transparent 1.5px 10.5px),linear-gradient(90deg,#9a6b3a 0%,#caa06a 45%,#e4c592 55%,#b98a4f 100%);transform-origin:50% 100%;box-shadow:1px 0 2px rgba(0,0,0,.25),-1px 0 1px rgba(255,255,255,.15);transition:opacity .15s;}
.qq-stick::after{content:"";position:absolute;top:-9px;left:0;width:100%;height:9px;border-radius:50% 50% 30% 30%/60% 60% 40% 40%;background:linear-gradient(180deg,#e4c592,#9a6b3a);}
.qq-fallen{position:absolute;bottom:0;left:0;width:8px;border-radius:5px 5px 2px 2px;z-index:10;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(74,50,26,.45) 0 1.5px,transparent 1.5px 10.5px),linear-gradient(90deg,#9a6b3a 0%,#caa06a 45%,#e4c592 55%,#b98a4f 100%);box-shadow:2px 3px 8px rgba(0,0,0,.3);opacity:0;transform-origin:50% 0;}
.qq-fallen.dropping{animation:stickFall 1s cubic-bezier(.25,.46,.45,.94) forwards;}
@keyframes stickFall{0%{opacity:1;transform:translateY(0) rotate(0deg);}12%{opacity:1;transform:translateY(-52px) rotate(-10deg);}30%{opacity:1;transform:translateY(-18px) rotate(6deg);}48%{opacity:1;transform:translateY(-36px) rotate(-4deg);}68%{opacity:1;transform:translateY(52px) rotate(13deg);}100%{opacity:0;transform:translateY(260px) rotate(22deg);}}
.qq-shaking{animation:tubeShake 1s ease-in-out;}
@keyframes tubeShake{
0%{transform:translate(0,0) rotate(0deg);}
6%{transform:translate(-4px,-6px) rotate(-3.5deg);}
12%{transform:translate(4px,-3px) rotate(3.5deg);}
18%{transform:translate(-5px,-7px) rotate(-4deg);}
24%{transform:translate(5px,-4px) rotate(4deg);}
30%{transform:translate(-4px,-6px) rotate(-3deg);}
36%{transform:translate(4px,-3px) rotate(3deg);}
42%{transform:translate(-3px,-5px) rotate(-2.5deg);}
48%{transform:translate(3px,-2px) rotate(2.5deg);}
54%{transform:translate(-2px,-4px) rotate(-1.5deg);}
60%{transform:translate(2px,-1px) rotate(1.5deg);}
70%{transform:translate(-1px,-2px) rotate(-.6deg);}
80%{transform:translate(1px,0) rotate(.5deg);}
100%{transform:translate(0,0) rotate(0deg);}
}
.qq-shaking .qq-stick{animation:stickRattle .10s ease-in-out infinite alternate;}
@keyframes stickRattle{
from{transform:translateX(-2px) rotate(calc(var(--r,-2deg) - 3deg));}
to{transform:translateX(2px) rotate(calc(var(--r,-2deg) + 3deg));}
}
.qq-dust{position:absolute;bottom:175px;left:50%;transform:translateX(-50%);width:70px;height:36px;opacity:0;pointer-events:none;background:radial-gradient(ellipse,rgba(180,140,90,.35),transparent 70%);border-radius:50%;z-index:4;}
.qq-dust.go{animation:dustPuff .6s ease-out;}
@keyframes dustPuff{0%{opacity:.6;transform:translate(-50%,0) scale(.4);}100%{opacity:0;transform:translate(-50%,-14px) scale(1.5);}}
.hint{color:#8a7a5c;font-size:13px;margin:8px 0 18px;letter-spacing:1px;}
.actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}
.btn{border:none;cursor:pointer;font-family:inherit;background:linear-gradient(180deg,#c24334,#a8382a);color:#fff5e0;font-size:16px;letter-spacing:4px;padding:12px 30px;border-radius:30px;box-shadow:0 6px 14px rgba(178,58,46,.35),inset 0 1px 0 rgba(255,255,255,.25);transition:.15s;}
.btn:hover{filter:brightness(1.07);transform:translateY(-1px);}
.btn:active{transform:translateY(2px);}
.btn.ghost{background:#fff;border:1px solid var(--red);color:var(--red);box-shadow:none;}
.btn.ghost:hover{background:#fdf3ee;}
.btn.small{font-size:13px;padding:8px 18px;letter-spacing:2px;}

/* 黄历面板 */
.almanac{width:min(640px,94vw);margin:0 auto 18px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px 24px;box-shadow:0 10px 30px rgba(0,0,0,.08);position:relative;}
.almanac::before{content:"";position:absolute;inset:7px;border:1px solid #c9b78a44;border-radius:9px;pointer-events:none;}
.alm-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;gap:12px;flex-wrap:wrap;}
.alm-date .ganzhi{font-size:22px;letter-spacing:3px;font-weight:bold;color:var(--red-d);}
.alm-date .lunar{color:var(--ink2);font-size:14px;margin-top:4px;}
.alm-badge{background:linear-gradient(180deg,var(--gold-l),var(--gold));color:#fff;padding:6px 16px;border-radius:20px;font-size:13px;letter-spacing:1px;white-space:nowrap;}
.alm-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.alm-cell{border:1px solid var(--line);border-radius:9px;padding:11px 14px;background:rgba(255,255,255,.04);display:flex;align-items:center;gap:10px;}
.alm-cell .k{flex:0 0 auto;font-size:13px;color:#fff;background:var(--gold);border-radius:6px;padding:3px 10px;letter-spacing:1px;}
.alm-cell .k.bad{background:var(--red);}
.alm-cell .v{font-size:14px;color:var(--ink2);line-height:1.6;}
.alm-extra{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap;justify-content:center;}
.alm-tag{font-size:12px;color:var(--ink2);border:1px solid var(--line);border-radius:14px;padding:3px 12px;background:rgba(201,162,39,.06);}
.alm-controls{display:flex;gap:10px;justify-content:center;align-items:center;margin:14px 0;flex-wrap:wrap;}
.alm-controls input[type=date]{font-family:inherit;font-size:14px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);}
.alm-controls .today-btn{font-size:13px;padding:8px 16px;border:1px solid var(--gold);color:var(--gold);background:transparent;border-radius:10px;cursor:pointer;}
.alm-controls .today-btn:hover{background:rgba(201,162,39,.1);}

/* 结果卡 */
.card{width:min(560px,94vw);margin:28px auto 0;background:linear-gradient(180deg,var(--paper2),var(--paper));border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.16);padding:28px;position:relative;max-height:0;opacity:0;overflow:hidden;transition:max-height .7s cubic-bezier(.4,0,.2,1),opacity .5s,padding .5s,margin .5s;padding-top:0;padding-bottom:0;margin-top:0;}
.card.show{max-height:1300px;opacity:1;padding-top:28px;padding-bottom:28px;margin-top:28px;}
.card::before{content:"";position:absolute;inset:8px;border:1px solid #c9b78a66;border-radius:9px;pointer-events:none;}
.seal{position:absolute;top:18px;right:18px;width:56px;height:56px;border-radius:8px;background:var(--red);color:var(--paper);font-size:13px;line-height:1.15;display:flex;align-items:center;justify-content:center;text-align:center;transform:rotate(-8deg);box-shadow:0 3px 8px rgba(178,58,46,.45);padding:6px;font-family:"Kaiti SC","STKaiti","KaiTi",serif;}
.lvl{display:inline-block;font-size:15px;letter-spacing:3px;color:#fff;background:linear-gradient(180deg,var(--gold-l),var(--gold));padding:4px 16px;border-radius:20px;box-shadow:0 2px 6px rgba(201,162,39,.4);}
.lvl.up{background:linear-gradient(180deg,#3aa86a,#2e8b57);}
.lvl.mid{background:linear-gradient(180deg,var(--gold-l),var(--gold));}
.lvl.low{background:linear-gradient(180deg,#b5612a,#9a4b1f);}
.lvl.bad{background:linear-gradient(180deg,#8e3a2c,var(--red-d));}
.card h2{margin:10px 0 4px;font-size:26px;letter-spacing:5px;font-family:"Kaiti SC","STKaiti","KaiTi",serif;color:var(--red-d);}
.no{color:#8a7a5c;font-size:13px;margin-bottom:4px;letter-spacing:2px;}
.poem{white-space:pre-line;text-align:center;line-height:2.2;font-size:19px;color:var(--ink);margin:16px 0 18px;padding:14px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);font-family:"Kaiti SC","STKaiti","KaiTi",serif;}
.poem .pline{opacity:0;transform:translateY(10px);animation:rise .6s ease forwards;}
@keyframes rise{to{opacity:1;transform:none;}}
.explain{font-size:15px;line-height:2;color:var(--ink2);}
.explain b{color:var(--red);}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;}
.grid .cell{border:1px solid var(--line);border-radius:8px;padding:9px 12px;background:rgba(255,255,255,.04);display:flex;align-items:center;gap:8px;}
.grid .k{flex:0 0 auto;font-size:13px;color:#fff;background:var(--gold);border-radius:6px;padding:2px 8px;letter-spacing:1px;}
.grid .k.bad{background:var(--red);}
.grid .v{font-size:14px;color:var(--ink2);}
.meta{margin-top:18px;font-size:12px;color:#a2936f;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;}
.copybtn,.posterbtn{cursor:pointer;border:1px solid var(--line);background:var(--card);border-radius:20px;padding:4px 14px;font-size:12px;color:var(--ink2);font-family:inherit;transition:.15s;}
.copybtn:hover,.posterbtn:hover{color:var(--red);border-color:var(--red);}

/* 签库网格 */
.sign-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;}
.sign-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;cursor:pointer;transition:.2s;position:relative;overflow:hidden;}
.sign-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.12);border-color:var(--gold);}
.sign-card .sno{font-size:12px;color:#8a7a5c;}
.sign-card .stitle{font-family:"Kaiti SC","STKaiti","KaiTi",serif;font-size:20px;letter-spacing:2px;color:var(--red-d);margin:4px 0;}
.sign-card .stag{display:inline-block;font-size:11px;color:#fff;padding:2px 10px;border-radius:12px;}
.sign-card .stag.up{background:#2e8b57;} .sign-card .stag.mid{background:var(--gold);} .sign-card .stag.low{background:#9a4b1f;} .sign-card .stag.bad{background:var(--red-d);}

/* 历史 */
.hist-list{display:flex;flex-direction:column;gap:10px;max-width:680px;margin:0 auto;}
.hist-item{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 16px;cursor:pointer;transition:.2s;}
.hist-item:hover{border-color:var(--gold);}
.hist-item .htag{font-size:12px;color:#fff;padding:3px 10px;border-radius:12px;white-space:nowrap;}
.hist-item .htitle{font-family:"Kaiti SC","STKaiti","KaiTi",serif;font-size:18px;color:var(--red-d);}
.hist-item .hdate{font-size:12px;color:#8a7a5c;margin-left:auto;}
.empty{text-align:center;color:#8a7a5c;padding:40px;font-size:14px;}

/* 关于 */
.about{max-width:680px;margin:0 auto;background:linear-gradient(180deg,var(--card),rgba(253,248,238,.6));border:1px solid var(--gold);border-radius:16px;padding:28px 30px;line-height:2;color:var(--ink2);box-shadow:0 16px 40px rgba(0,0,0,.10),inset 0 0 0 4px rgba(201,162,39,.08);position:relative;overflow:hidden;}
.about::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--gold),var(--royal),var(--sapphire),var(--jade),var(--gold));}
.about h3{font-family:"Kaiti SC","STKaiti","KaiTi",serif;color:var(--red-d);letter-spacing:2px;}
.about .disc{margin-top:16px;padding:14px;border:1px dashed var(--line);border-radius:10px;font-size:13px;color:#8a7a5c;}

/* 海报模态 */
.modal-mask{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:40;display:none;align-items:center;justify-content:center;padding:16px;}
.modal-mask.show{display:flex;}
.modal-box{background:var(--card);border-radius:14px;padding:18px;max-width:92vw;text-align:center;position:relative;}
.modal-box canvas{max-width:100%;height:auto;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.3);}
.modal-box .mbtns{margin-top:14px;display:flex;gap:10px;justify-content:center;}
.modal-close{position:absolute;top:8px;right:12px;font-size:22px;cursor:pointer;color:var(--ink2);line-height:1;}

#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(20px);background:rgba(43,33,24,.92);color:#f4ecd8;padding:10px 22px;border-radius:24px;font-size:14px;letter-spacing:1px;opacity:0;transition:.35s;z-index:50;pointer-events:none;}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
footer{text-align:center;margin-top:40px;color:#a2936f;font-size:12px;letter-spacing:1px;}

@media(max-width:560px){
  .nav-links a{padding:6px 9px;font-size:13px;letter-spacing:1px;}
  .brand{font-size:18px;letter-spacing:2px;}
  .alm-grid,.grid{grid-template-columns:1fr;}
}

/* ===== 门户 / 通用 ===== */
.nav-links{overflow-x:auto;max-width:66vw;scrollbar-width:none;}
.nav-links::-webkit-scrollbar{display:none;}
/* ===== 首页 Hero · 描金殿宇匾额 ===== */
.hero{position:relative;overflow:hidden;text-align:center;padding:56px 26px 48px;max-width:1000px;margin:30px auto 16px;
  background:
    linear-gradient(160deg,rgba(253,248,238,.92),rgba(239,227,198,.78)),
    repeating-linear-gradient(45deg,rgba(201,162,39,.05) 0 7px,transparent 7px 15px);
  border:2px solid var(--gold);
  border-radius:24px;
  box-shadow:0 30px 70px rgba(122,45,34,.20),0 10px 30px rgba(0,0,0,.12),inset 0 0 60px rgba(201,162,39,.10);
  animation:heroIn .9s ease both;}
@keyframes heroIn{from{opacity:0;transform:translateY(20px) scale(.985);}to{opacity:1;transform:none;}}
/* ====== 左右观世音菩萨圣像（页面级装饰，hero 两侧背景区） ====== */
.guanyin-side{position:absolute;left:60px;top:150px;
  width:480px;z-index:0;pointer-events:none;opacity:.6;
  filter:drop-shadow(0 4px 20px rgba(140,90,0,.18)) drop-shadow(0 0 50px rgba(201,162,39,.12));
  animation:guanyinFloat 8s ease-in-out infinite;}
.guanyin-side img{width:100%;height:auto;display:block;position:relative;z-index:1;}
.guanyin-side.right{left:auto;right:60px;}
.guanyin-side.right img{transform:scaleX(-1);}
/* 莲花座下动态翻滚七彩祥云（多朵持续循环滚动） */
.guanyin-side .clouds{position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:100%;height:180px;z-index:2;pointer-events:none;overflow:hidden;}
.guanyin-side .clouds span{position:absolute;bottom:0;border-radius:50%;
  background:radial-gradient(ellipse at 50% 50%,rgba(255,140,180,.95),rgba(255,140,180,.42) 48%,transparent 74%);
  filter:blur(4px) drop-shadow(0 0 14px rgba(255,120,180,.6));
  animation:cloudRoll 9s ease-in-out infinite;opacity:0;}
.guanyin-side .clouds span:nth-child(1){left:-8%;width:240px;height:100px;animation-delay:0s;
  background:radial-gradient(ellipse at 50% 50%,rgba(255,138,168,.95),rgba(255,138,168,.42) 48%,transparent 74%);
  filter:blur(4px) drop-shadow(0 0 16px rgba(255,110,170,.62));}
.guanyin-side .clouds span:nth-child(2){left:12%;width:280px;height:118px;animation-delay:1.7s;
  background:radial-gradient(ellipse at 50% 50%,rgba(255,176,84,.95),rgba(255,176,84,.42) 48%,transparent 74%);
  filter:blur(4px) drop-shadow(0 0 16px rgba(255,160,70,.62));}
.guanyin-side .clouds span:nth-child(3){left:34%;width:220px;height:92px;animation-delay:3.3s;
  background:radial-gradient(ellipse at 50% 50%,rgba(255,232,104,.95),rgba(255,232,104,.42) 48%,transparent 74%);
  filter:blur(4px) drop-shadow(0 0 16px rgba(255,220,80,.62));}
.guanyin-side .clouds span:nth-child(4){left:54%;width:260px;height:108px;animation-delay:5s;
  background:radial-gradient(ellipse at 50% 50%,rgba(122,236,156,.95),rgba(122,236,156,.42) 48%,transparent 74%);
  filter:blur(4px) drop-shadow(0 0 16px rgba(100,230,150,.62));}
.guanyin-side .clouds span:nth-child(5){left:74%;width:200px;height:86px;animation-delay:6.7s;
  background:radial-gradient(ellipse at 50% 50%,rgba(116,176,255,.95),rgba(116,176,255,.42) 48%,transparent 74%);
  filter:blur(4px) drop-shadow(0 0 16px rgba(105,170,255,.62));}
.guanyin-side .clouds span:nth-child(6){left:90%;width:230px;height:96px;animation-delay:8.3s;
  background:radial-gradient(ellipse at 50% 50%,rgba(190,138,255,.95),rgba(190,138,255,.42) 48%,transparent 74%);
  filter:blur(4px) drop-shadow(0 0 16px rgba(180,130,255,.62));}
@keyframes cloudRoll{
  0%{transform:translateX(-100px) scaleX(.45) rotate(-8deg);opacity:0;}
  15%{opacity:.95;}
  35%{transform:translateX(0) scaleX(1.25) rotate(3deg);opacity:1;}
  65%{transform:translateX(80px) scaleX(1.15) rotate(-2deg);opacity:1;}
  85%{opacity:.85;}
  100%{transform:translateX(180px) scaleX(.45) rotate(-8deg);opacity:0;}}
@keyframes guanyinFloat{0%,100%{transform:translateY(0) translateX(0);}50%{transform:translateY(-10px) translateX(5px);}}
.hero::before{content:"";position:absolute;inset:11px;border:1px dashed rgba(201,162,39,.55);border-radius:16px;pointer-events:none;z-index:1;}
.hero-corner{position:absolute;width:30px;height:30px;border:2px solid var(--gold);opacity:.82;z-index:2;filter:drop-shadow(0 0 5px rgba(107,63,160,.45));}
.hero-corner.tl{top:14px;left:14px;border-right:0;border-bottom:0;border-top-left-radius:10px;}
.hero-corner.tr{top:14px;right:14px;border-left:0;border-bottom:0;border-top-right-radius:10px;}
.hero-corner.bl{bottom:14px;left:14px;border-right:0;border-top:0;border-bottom-left-radius:10px;}
.hero-corner.br{bottom:14px;right:14px;border-left:0;border-top:0;border-bottom-right-radius:10px;}
.seal-big{position:relative;z-index:3;width:96px;height:96px;border-radius:16px;background:linear-gradient(180deg,var(--red),var(--red-d));color:var(--paper);display:inline-flex;align-items:center;justify-content:center;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:46px;transform:rotate(-6deg);box-shadow:0 12px 34px rgba(178,58,46,.45),0 0 0 3px rgba(201,162,39,.55),inset 0 2px 4px rgba(255,255,255,.25);margin-bottom:18px;animation:sealFloat 6s ease-in-out infinite;}
@keyframes sealFloat{0%,100%{transform:rotate(-6deg) translateY(0);}50%{transform:rotate(-6deg) translateY(-5px);}}
@keyframes titlePulse{0%,100%{filter:drop-shadow(0 2px 1px rgba(80,30,0,.4)) drop-shadow(0 4px 12px rgba(180,130,10,.6)) drop-shadow(0 0 36px rgba(220,180,60,.45)) drop-shadow(0 0 72px rgba(212,168,75,.18));}50%{filter:drop-shadow(0 2px 1px rgba(80,30,0,.4)) drop-shadow(0 4px 16px rgba(200,150,15,.72)) drop-shadow(0 0 50px rgba(230,195,70/.58)) drop-shadow(0 0 100px rgba(212,168,75,.25));}}
@keyframes ctaPulse{0%,100%{box-shadow:0 8px 24px rgba(0,0,0,.38),0 0 0 1.5px rgba(212,168,75,.55),inset 0 1px 0 rgba(255,255,255,.12),0 0 28px rgba(180,130,20,.22);}50%{box-shadow:0 8px 24px rgba(0,0,0,.42),0 0 0 2px rgba(255,215,90,.7),inset 0 1px 0 rgba(255,255,255,.16),0 0 40px rgba(200,150,20,.38),0 0 70px rgba(180,130,20,.15);}}
/* ====== 鎏金浮雕 3D 字核心 ====== */
.hero-plaque{position:relative;z-index:2;margin:20px 24px 32px;padding:36px 28px 32px;
  background:linear-gradient(175deg,rgba(42,32,20,.72),rgba(28,22,16,.82),rgba(20,15,10,.78));
  border:1.5px solid rgba(201,162,39,.35);
  border-radius:18px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    inset 0 -1px 0 rgba(0,0,0,.3),
    0 20px 60px rgba(0,0,0,.25),
    0 0 0 1px rgba(180,140,60,.15);
  text-align:center;}
.hero h1{position:relative;z-index:3;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-weight:900;font-size:clamp(54px,11vw,92px);letter-spacing:22px;margin:0 0 4px;padding-left:14px;
  color:#f5d466;
  text-shadow:
    0 1px 0 #fff8d4,
    0 2px 0 #ffe066,
    0 3px 0 #e8c44a,
    0 4px 1px rgba(140,90,0,.25),
    0 5px 4px rgba(100,55,0,.28),
    0 8px 14px rgba(80,40,0,.30),
    0 0 36px rgba(212,168,75,.45),
    0 0 72px rgba(212,168,75,.18);}
/* 持续光晕眩晕感（不闪，常驻柔光扩散） */
.hero h1::before{content:"";position:absolute;inset:-30px -20px;z-index:2;
  background:radial-gradient(ellipse at 50% 48%,rgba(255,245,200,.22) 0%,rgba(245,212,102,.12) 35%,rgba(212,168,75,.06) 60%,transparent 78%);
  filter:blur(8px);pointer-events:none;
  animation:dizzyGlow 4s ease-in-out infinite alternate;}
@keyframes dizzyGlow{
  0%{opacity:.55;transform:scale(.97);}
  100%{opacity:.9;transform:scale(1.03);}}
.hero-deco{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:12px;margin:4px 0 14px;color:var(--gold);}
.hero-deco i{display:block;width:90px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),var(--royal));}
.hero-deco i:last-child{background:linear-gradient(90deg,var(--royal),var(--gold),transparent);}
.hero-deco b{font-size:15px;letter-spacing:0;background:linear-gradient(90deg,var(--gold),var(--royal));-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero .sub{position:relative;z-index:3;color:#d8c8a8;font-size:16px;letter-spacing:5px;margin-bottom:10px;}
.motto{position:relative;z-index:3;margin:0 0 22px;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:18px;letter-spacing:8px;color:#e8c44a;opacity:.95;}
.hero .tags{position:relative;z-index:3;display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin-bottom:28px;}
.hero .tags span{font-size:13px;letter-spacing:1px;border:1px solid rgba(212,168,75,.5);border-radius:18px;padding:5px 15px;color:#e8d8b8;background:linear-gradient(180deg,rgba(255,250,235,.12),rgba(201,162,39,.08));box-shadow:0 2px 6px rgba(0,0,0,.2);}
.hero .cta{position:relative;z-index:3;display:inline-block;font-size:20px;font-weight:700;letter-spacing:10px;padding:17px 54px;border-radius:34px;
  background:linear-gradient(180deg,#2a1f14,#1a1410 60%,#0e0a08);color:#f5d466;
  border:2px solid rgba(212,168,75,.65);
  box-shadow:0 8px 24px rgba(0,0,0,.38),0 0 0 1.5px rgba(212,168,75,.45),inset 0 1px 0 rgba(255,255,255,.08),0 0 28px rgba(180,130,20,.2);
  overflow:hidden;transition:.3s;animation:ctaPulse 2.8s ease-in-out infinite;
  text-shadow:0 1px 0 rgba(0,0,0,.5),0 0 8px rgba(212,168,75,.35);}
.hero .cta::after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .6s;}
.hero .cta:hover{filter:brightness(1.15);transform:translateY(-3px);box-shadow:0 14px 32px rgba(0,0,0,.45),0 0 0 2.5px rgba(245,212,102,.7),inset 0 1px 0 rgba(255,255,255,.12),0 0 40px rgba(212,168,75,.35);}
.hero .cta:hover::after{left:130%;}
body.dark .hero{background:linear-gradient(160deg,rgba(46,38,28,.92),rgba(28,23,18,.88));box-shadow:0 30px 70px rgba(0,0,0,.55),0 10px 30px rgba(0,0,0,.4),inset 0 0 60px rgba(168,127,224,.10);}
.container{max-width:1080px;margin:0 auto;padding:6px 16px 30px;}
.sect-head{text-align:center;margin:28px 0 18px;}
.sect-head h2{font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:27px;letter-spacing:8px;margin:0 0 4px;
  background:linear-gradient(180deg,#e8c45f 0%,#b8902f 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 1px 2px rgba(122,45,34,.18));}
.sect-head .line{width:72px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),var(--royal),var(--sapphire),transparent);margin:8px auto 0;}
/* ===== 首页功能卡片 · 宫廷奢华版 ===== */
.module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;perspective:1200px;}
.module-card{display:block;text-decoration:none;
  position:relative;z-index:1;overflow:hidden;border-radius:18px;padding:28px 22px 24px;
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s;
  transform-style:preserve-3d;
  /* 底层：暖玉纸质感 */
  background:
    linear-gradient(165deg,rgba(255,252,245,.96) 0%,rgba(250,243,228,.94) 40%,rgba(244,234,212,.92) 100%);
  /* 外框：双线金边 */
  border:1.5px solid rgba(201,162,39,.35);
  box-shadow:
    0 1px 0 rgba(255,255,255,.7) inset,
    0 6px 20px rgba(60,40,10,.09),
    0 12px 36px rgba(80,50,15,.06);}
/* 内描边框（伪元素） */
.module-card::before{content:"";position:absolute;inset:5px;border:1px solid rgba(201,162,39,.16);border-radius:14px;pointer-events:none;}
/* 角饰：四角回纹点 */
.module-card::after{content:"";position:absolute;top:9px;left:9px;width:7px;height:7px;border-top:2.5px solid var(--gold);border-left:2.5px solid var(--gold);
  pointer-events:none;z-index:2;opacity:.65;transition:opacity .3s,border-color .3s;}
/* 右下角对称角饰 — 用额外 span */
.module-card .corner-br{position:absolute;bottom:9px;right:9px;width:7px;height:7px;
  border-bottom:2.5px solid var(--gold);border-right:2.5px solid var(--gold);pointer-events:none;z-index:2;opacity:.65;transition:opacity .3s,border-color .3s;}

/* 图标区：圆形金框 + 光晕 */
.module-card .ico{display:flex;align-items:center;justify-content:center;
  width:58px;height:58px;margin-bottom:14px;border-radius:50%;
  font-size:0;line-height:1;
  background:linear-gradient(145deg,#fffaf0,#f5e6c8);
  border:1.8px solid rgba(201,162,39,.38);
  box-shadow:
    0 2px 8px rgba(140,90,0,.1),
    0 0 20px rgba(201,162,39,.12),
    inset 0 1px 0 rgba(255,255,255,.85);
  position:relative;z-index:2;
  transition:transform .35s,box-shadow .35s,border-color .35s;}
.module-card .ico svg{width:30px;height:30px;}
.module-card .ico img{width:38px;height:38px;object-fit:contain;border-radius:4px;}
/* 标题 */
.module-card h3{font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:21px;font-weight:700;letter-spacing:3px;margin:0 0 8px;
  color:#8b6914;
  text-shadow:0 1px 0 rgba(255,250,230,.8);
  position:relative;z-index:2;
  transition:color .3s,text-shadow .3s;}
/* 标题下装饰短线 */
.module-card h3::after{content:"";display:block;width:32px;height:2px;margin-top:6px;
  background:linear-gradient(90deg,var(--gold),transparent);
  border-radius:1px;opacity:.45;transition:width .35s,opacity .3s;}
/* 描述文字 */
.module-card p{font-size:13px;color:#7a684a;line-height:1.85;margin:0;position:relative;z-index:2;}

/* 悬停效果 */
.module-card:hover{
  transform:translateY(-8px) rotateX(3deg) scale(1.02);
  box-shadow:
    0 1px 0 rgba(255,255,255,.7) inset,
    0 18px 44px rgba(100,60,10,.18),
    0 30px 70px rgba(80,50,12,.12),
    0 0 0 1.5px rgba(201,162,39,.55),
    0 0 36px rgba(201,162,39,.15);
  border-color:var(--gold);}
.module-card:hover::before{border-color:rgba(201,162,39,.3);}
.module-card:hover::after{opacity:1;border-color:#c9a227;}
.module-card:hover .corner-br{opacity:1;border-color:#c9a227;}
.module-card:hover .ico{
  transform:scale(1.1) rotate(-5deg);
  box-shadow:
    0 4px 14px rgba(140,90,0,.18),
    0 0 28px rgba(201,162,39,.28),
    inset 0 1px 0 rgba(255,255,255,.95);
  border-color:var(--gold);}
.module-card:hover .ico svg{stroke:#b8860b;}
.module-card:hover .ico svg text{fill:#b8860b;}
.module-card:hover h3{color:#6b500d;text-shadow:0 1px 0 rgba(255,250,230,1),0 0 16px rgba(201,162,39,.25);}
.module-card:hover h3::after{width:52px;opacity:.75;}
.module-card .soon{position:absolute;top:12px;right:-32px;background:var(--gold);color:#fff;font-size:10px;padding:3px 32px;transform:rotate(40deg);letter-spacing:1px;}
/* 模块页通用 */
.page{max-width:980px;margin:0 auto;padding:24px 16px 30px;}
.page-title{font-family:"Kaiti SC",STKaiti,KaiTi,serif;text-align:center;font-size:30px;letter-spacing:8px;color:var(--red);margin:6px 0 4px;}
.page-sub{text-align:center;color:#8a7a5c;font-size:13px;letter-spacing:4px;margin-bottom:22px;}
.tool-wrap{max-width:640px;margin:0 auto;}
.center-block{position:relative;isolation:isolate;text-align:center;padding:10px 0 0;}
.field{margin:14px auto;max-width:460px;text-align:left;}
.field label{display:block;font-size:14px;color:var(--ink2);margin-bottom:6px;letter-spacing:1px;}
.field input,.field select{width:100%;font-family:inherit;font-size:15px;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);}
.field input:focus,.field select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.15);}
.row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}
.result-box{margin-top:22px;}
/* 抽签页签种切换 */
.kinds{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:8px;}
.kind-btn{font-size:13px;padding:7px 16px;border:1px solid var(--line);border-radius:20px;background:var(--card);color:var(--ink2);cursor:pointer;font-family:inherit;transition:.15s;}
.kind-btn.active{color:#fff;background:linear-gradient(180deg,var(--red),var(--red-d));border-color:transparent;}
/* 塔罗/星座/生肖等 */
.tcard{background:linear-gradient(180deg,var(--paper2),var(--paper));border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.14);padding:22px;margin-top:18px;position:relative;}
.tcard h3{font-family:"Kaiti SC",STKaiti,KaiTi,serif;color:var(--red-d);letter-spacing:3px;margin:0 0 8px;}
.tcard .big{font-size:22px;text-align:center;color:var(--red);font-family:"Kaiti SC",STKaiti,KaiTi,serif;letter-spacing:3px;margin:6px 0;}
.tcard p{line-height:2;color:var(--ink2);font-size:15px;}
.pill{display:inline-block;font-size:12px;border:1px solid var(--line);border-radius:14px;padding:3px 12px;color:var(--ink2);background:rgba(201,162,39,.06);margin:3px;}

/* ===== 新增：粒子 / 多维解读 / Hero 高级特效 ===== */
/* 漂浮光点粒子 */
.fx{position:fixed;inset:0;z-index:-3;overflow:hidden;pointer-events:none;}
.spark{position:absolute;border-radius:50%;background:radial-gradient(circle,#fff7da,rgba(201,162,39,.55) 45%,transparent 72%);box-shadow:0 0 7px rgba(201,162,39,.7);animation:floatSpark linear infinite;}
@keyframes floatSpark{
  0%{transform:translateY(8px) scale(1);opacity:.08;}
  45%{opacity:.95;}
  100%{transform:translateY(-44px) scale(.55);opacity:0;}
}
body.dark .spark{background:radial-gradient(circle,#ffe9a8,rgba(227,196,90,.5) 45%,transparent 72%);box-shadow:0 0 8px rgba(227,196,90,.6);}

/* 多维深度解读卡 */
.explain .jie{margin-bottom:14px;}
.explain .jie b{display:inline-block;margin-bottom:8px;font-size:15px;letter-spacing:3px;color:var(--red);}
.explain .jie p{margin:0;line-height:2.05;color:var(--ink2);text-align:justify;font-size:15px;}
.explain .dims{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0;}
.explain .dim{border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:8px;padding:10px 12px;background:rgba(255,255,255,.04);transition:.2s;}
.explain .dim:hover{border-left-color:var(--red);background:rgba(178,58,46,.05);}
.explain .dim .dk{display:block;font-size:13px;color:var(--red);letter-spacing:3px;margin-bottom:5px;font-family:"Kaiti SC",STKaiti,KaiTi,serif;}
.explain .dim .dv{font-size:13.5px;color:var(--ink2);line-height:1.9;}
.explain .duan{margin-top:14px;display:flex;gap:11px;align-items:flex-start;background:linear-gradient(180deg,rgba(178,58,46,.06),rgba(201,162,39,.05));border:1px solid var(--line);border-radius:10px;padding:13px 15px;font-size:14px;color:var(--ink2);line-height:1.95;}
.explain .duan .seal-mini{flex:0 0 auto;}
.explain .dian{margin-top:11px;font-size:12.5px;color:#8a7a5c;border-top:1px dashed var(--line);padding-top:11px;line-height:1.85;}
.seal-mini{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:var(--red);color:var(--paper);font-size:13px;font-family:"Kaiti SC",STKaiti,KaiTi,serif;transform:rotate(-6deg);}

/* Hero 背景图 + 流光扫描 */
.hero{position:relative;overflow:hidden;}
.hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:
    radial-gradient(circle at 50% 4%,rgba(201,162,39,.30),transparent 44%),
    radial-gradient(ellipse at 14% 22%,rgba(107,63,160,.24),transparent 54%),
    radial-gradient(ellipse at 86% 26%,rgba(42,93,159,.22),transparent 54%),
    radial-gradient(ellipse at 50% 112%,rgba(31,120,100,.20),transparent 58%);
  -webkit-mask-image:radial-gradient(ellipse at 50% 44%,#000 50%,transparent 96%);
  mask-image:radial-gradient(ellipse at 50% 44%,#000 50%,transparent 96%);
  transition:opacity .5s;animation:heroAura 12s ease-in-out infinite;}
@keyframes heroAura{0%,100%{opacity:.82;}50%{opacity:1;}}
body.dark .hero-bg{opacity:.92;filter:saturate(1.15);}
.hero::after{content:"";position:absolute;top:0;left:-60%;width:46%;height:100%;pointer-events:none;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.38),transparent);
  transform:skewX(-20deg);animation:scan 7.5s ease-in-out infinite;}
@keyframes scan{0%{left:-60%;}54%{left:120%;}100%{left:120%;}}

/* 模块卡片 3D 已整合到主定义 */

@media(max-width:560px){
  .explain .dims{grid-template-columns:1fr;}
}

/* 灵签渊源 / 圣意 / 仙机 */
.origin{margin:6px auto 18px;max-width:680px;background:linear-gradient(180deg,rgba(201,162,39,.08),rgba(255,255,255,.03));border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:10px;padding:12px 16px;font-size:13.5px;line-height:1.95;color:var(--ink2);text-align:justify;}
.origin b{color:var(--red);letter-spacing:1px;}
.explain .shengyi{display:flex;gap:10px;align-items:flex-start;background:rgba(178,58,46,.07);border:1px solid var(--line);border-radius:10px;padding:11px 14px;margin-bottom:14px;font-size:14px;color:var(--ink2);line-height:1.9;}
.explain .shengyi .seal-mini{flex:0 0 auto;}
.explain .xianji{margin-top:12px;font-size:13px;color:#8a7a5c;border-top:1px dashed var(--line);padding-top:11px;line-height:1.9;}
body.dark .origin{background:linear-gradient(180deg,rgba(201,162,39,.1),rgba(0,0,0,.2));}

/* ===== 黄历通胜升级 ===== */
.alm-controls{display:flex;gap:10px;justify-content:center;align-items:center;margin:0 auto 16px;width:min(640px,94vw);}
.today-btn{border:1px solid var(--line);background:var(--paper);color:var(--ink2);font-family:inherit;font-size:14px;padding:9px 18px;border-radius:22px;cursor:pointer;transition:.15s;letter-spacing:1px;}
.today-btn:hover{border-color:var(--gold);color:var(--red);}
#almDateInput{font-family:inherit;font-size:14px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);}

.alm-card{position:relative;}
.alm-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px dashed var(--line);margin-bottom:16px;}
.alm-solar .big{font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:36px;color:var(--red);letter-spacing:1px;line-height:1;}
.alm-solar .wk{color:var(--ink2);font-size:13px;margin-top:5px;letter-spacing:2px;}
.alm-zh{flex:1;min-width:180px;}
.alm-zh .gz{font-size:19px;letter-spacing:2px;color:var(--ink);font-weight:bold;}
.alm-zh .lunar{font-size:13px;color:var(--ink2);margin-top:5px;}
.alm-zh .nz{font-size:12px;color:#8a7a5c;margin-top:3px;}
.alm-seal{width:86px;height:86px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-5deg);box-shadow:0 5px 14px rgba(0,0,0,.15);flex-shrink:0;}
.alm-seal.lucky{background:linear-gradient(145deg,#fbf3df,#f1e2bd);border:2px solid var(--gold);}
.alm-seal.unlucky{background:linear-gradient(145deg,#fbe9e6,#f2cdc7);border:2px solid var(--red);}
.alm-seal .zhen{font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:32px;line-height:1.1;}
.alm-seal.lucky .zhen{color:var(--red-d);}
.alm-seal.unlucky .zhen{color:var(--red);}
.alm-seal .ztag{font-size:12px;margin-top:3px;padding:1px 10px;border-radius:10px;letter-spacing:1px;}
.alm-seal.lucky .ztag{background:var(--gold);color:#fff;}
.alm-seal.unlucky .ztag{background:var(--red);color:#fff;}

.alm-yiji{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;}
.alm-yiji .yi,.alm-yiji .ji{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-height:84px;}
.alm-yiji .lab{font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:22px;width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;float:left;margin-right:10px;}
.alm-yiji .yi .lab{background:linear-gradient(180deg,#4a9d5b,#2f7d40);}
.alm-yiji .ji .lab{background:linear-gradient(180deg,#c24334,#9a2f24);}
.alm-yiji .items{overflow:hidden;}
.yi-it,.ji-it{display:inline-block;font-size:13px;margin:3px 7px 3px 0;color:var(--ink2);}

.alm-jx{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}
.jx-row{display:flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:10px 12px;}
.jx-k{flex-shrink:0;font-size:13px;padding:3px 10px;border-radius:8px;color:#fff;letter-spacing:1px;}
.jx-k.j{background:linear-gradient(180deg,#3f9aa8,#2c7280);}
.jx-k.x{background:linear-gradient(180deg,#c24334,#9a2f24);}
.jx-v{display:flex;flex-wrap:wrap;gap:5px;}
.tag{font-size:12px;padding:2px 8px;border-radius:8px;line-height:1.6;}
.tag.j{background:rgba(63,154,168,.14);color:#2c7280;border:1px solid rgba(63,154,168,.4);}
.tag.x{background:rgba(194,67,52,.12);color:var(--red-d);border:1px solid rgba(194,67,52,.35);}
.tag.muted{background:transparent;color:#aaa;border:1px dashed var(--line);}

.alm-info{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin-bottom:12px;}
.info-cell{display:flex;gap:8px;font-size:13px;padding:8px 10px;background:var(--paper);border-radius:8px;border:1px solid var(--line);align-items:baseline;}
.info-cell.info-wide{grid-column:1 / -1;}
.ik{flex-shrink:0;color:var(--gold);font-weight:bold;letter-spacing:1px;}
.iv{color:var(--ink2);line-height:1.6;}

.alm-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;}
.alm-tag{font-size:12px;padding:4px 13px;border-radius:14px;background:linear-gradient(180deg,var(--gold-l),var(--gold));color:#fff;letter-spacing:1px;}

.hours-box{margin-top:20px;}
.hours-title{font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:19px;color:var(--red);letter-spacing:3px;text-align:center;margin-bottom:14px;}
.hours-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;}
.hour-cell{border-radius:10px;padding:11px 4px;text-align:center;border:1px solid var(--line);transition:.2s;}
.hour-cell.h-love{background:rgba(63,154,168,.10);border-color:rgba(63,154,168,.4);}
.hour-cell.h-bad{background:rgba(194,67,52,.08);border-color:rgba(194,67,52,.3);}
.hour-cell .hn{font-size:14px;font-weight:bold;color:var(--ink);}
.hour-cell .hz{font-size:14px;margin:4px 0 3px;font-family:"Kaiti SC",STKaiti,KaiTi,serif;}
.hour-cell.h-love .hz{color:#2c7280;}
.hour-cell.h-bad .hz{color:var(--red-d);}
.hour-cell .hd{font-size:11px;color:#8a7a5c;}

/* 黄道吉日查询 */
.auspicious{width:min(760px,94vw);margin:28px auto 0;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px 24px;box-shadow:0 10px 30px rgba(0,0,0,.08);position:relative;}
.auspicious::before{content:"";position:absolute;inset:7px;border:1px solid #c9b78a44;border-radius:9px;pointer-events:none;}
.sec-title{font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:24px;letter-spacing:4px;color:var(--red);text-align:center;margin:0 0 4px;}
.sec-sub{text-align:center;color:#8a7a5c;font-size:13px;letter-spacing:2px;margin:0 0 16px;}
.matter-btns{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:14px;}
.matter-btn{font-family:inherit;font-size:14px;padding:8px 16px;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink2);cursor:pointer;transition:.15s;letter-spacing:1px;}
.matter-btn:hover{border-color:var(--gold);color:var(--red);}
.matter-btn.active{color:#fff;background:linear-gradient(180deg,var(--red),var(--red-d));border-color:transparent;}
.range-row{display:flex;gap:8px;align-items:center;justify-content:center;margin-bottom:16px;font-size:13px;color:var(--ink2);}
.range-btn{font-family:inherit;font-size:13px;padding:5px 14px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink2);cursor:pointer;transition:.15s;}
.range-btn.active{color:#fff;background:linear-gradient(180deg,var(--gold-l),var(--gold));border-color:transparent;}
.ausp-list{display:grid;grid-template-columns:1fr;gap:10px;}
.ausp-item{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 16px;transition:.15s;}
.ausp-item.top{border-color:var(--gold);box-shadow:inset 0 0 0 2px rgba(201,162,39,.25);}
.ausp-item.mid{border-color:#d8b86a;}
.ai-main{min-width:84px;}
.ai-date{display:flex;align-items:baseline;gap:6px;}
.ai-d{font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:22px;color:var(--red);}
.ai-wk{font-size:12px;color:var(--ink2);}
.ai-lunar{font-size:12px;color:#8a7a5c;margin-top:2px;}
.ai-zhen{font-size:12px;padding:3px 10px;border-radius:10px;white-space:nowrap;}
.ai-zhen.lucky{background:rgba(201,162,39,.16);color:var(--gold);border:1px solid rgba(201,162,39,.4);}
.ai-zhen.unlucky{background:rgba(194,67,52,.12);color:var(--red-d);border:1px solid rgba(194,67,52,.3);}
.ai-det{font-size:12px;color:var(--ink2);line-height:1.7;}
.ai-yi{color:#2f7d40;}
.ai-ji{color:var(--red-d);}
.ai-chong{color:#8a7a5c;}
.ai-star{font-size:18px;color:var(--gold);letter-spacing:2px;justify-self:end;}
.ausp-empty{text-align:center;color:#8a7a5c;font-size:14px;padding:24px;}

@media (max-width:560px){
  .alm-yiji,.alm-jx,.alm-info{grid-template-columns:1fr;}
  .hours-grid{grid-template-columns:repeat(4,1fr);}
  .ausp-item{grid-template-columns:1fr auto;gap:8px;}
  .ai-det{grid-column:1 / -1;}
  .ai-star{justify-self:start;}
}

/* ===== 黄历高端大气升级 ===== */
.alm-wrap{max-width:760px;margin:0 auto;background:linear-gradient(180deg,#fffdf8,#fbf6ea);border:1px solid #d8c79a;border-radius:18px;padding:0 0 10px;box-shadow:0 16px 44px rgba(120,80,20,.13);position:relative;overflow:hidden;}
.alm-wrap::before{content:"";position:absolute;inset:6px;border:1px solid var(--gold);border-radius:13px;pointer-events:none;opacity:.55;z-index:2;}
.alm-banner{text-align:center;padding:24px 16px 20px;background:linear-gradient(180deg,#9E2A2B,#6B1617);color:#fff;position:relative;z-index:1;}
.alm-banner::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% -10%,rgba(255,220,140,.28),transparent 60%);}
.banner-year{font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:34px;letter-spacing:5px;text-shadow:0 2px 8px rgba(0,0,0,.32);position:relative;}
.banner-sub{font-size:14px;margin-top:7px;color:#ffe9c2;letter-spacing:2px;position:relative;}
.banner-gz{font-size:13px;margin-top:8px;color:#f3dca8;letter-spacing:1px;position:relative;}
.alm-card{padding:20px 24px 6px;position:relative;z-index:1;}

/* 值神升级为圆形朱砂大印 */
.alm-seal{width:108px;height:108px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-6deg);box-shadow:0 6px 18px rgba(0,0,0,.18);flex-shrink:0;position:relative;}
.alm-seal::after{content:"";position:absolute;inset:5px;border-radius:50%;border:1px dashed rgba(255,255,255,.5);}
.alm-seal.lucky{background:radial-gradient(circle at 38% 32%,#fbf3df,#ecd9a8);border:3px solid var(--gold);}
.alm-seal.unlucky{background:radial-gradient(circle at 38% 32%,#fbe9e6,#eec3bc);border:3px solid var(--red);}
.alm-seal .zhen{font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:42px;line-height:1.05;}
.alm-seal.lucky .zhen{color:var(--red-d);}
.alm-seal.unlucky .zhen{color:var(--red);}
.alm-seal .ztag{font-size:13px;margin-top:2px;padding:2px 12px;border-radius:11px;letter-spacing:2px;}
.alm-seal.lucky .ztag{background:var(--gold);color:#fff;}
.alm-seal.unlucky .ztag{background:var(--red);color:#fff;}

/* 两栏小卡（五行穿衣 / 神煞方位） */
.alm-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;}
.mini-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:13px 15px;}
.mini-card.full{grid-column:1 / -1;}
.mc-title{font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:16px;color:var(--red);letter-spacing:2px;margin-bottom:11px;padding-bottom:7px;border-bottom:1px dashed var(--line);}
.mini-card.full .mc-title{text-align:center;}
.wx-list{display:flex;flex-direction:column;gap:8px;}
.wx-it{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink2);}
.wx-dot{width:17px;height:17px;border-radius:50%;border:1px solid rgba(0,0,0,.18);flex-shrink:0;}
.wx-it b{color:var(--ink);font-weight:bold;min-width:32px;letter-spacing:1px;}
.wx-it i{font-style:normal;color:#8a7a5c;}
.ss-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.ss-it{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;background:rgba(201,162,39,.07);border:1px solid var(--line);border-radius:9px;}
.ss-k{font-size:12px;color:var(--gold);letter-spacing:1px;}
.ss-v{font-size:17px;color:var(--ink);font-weight:bold;}

/* 九宫飞星罗盘 */
.fx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:366px;margin:0 auto;}
.fx-cell{border-radius:10px;padding:11px 4px;text-align:center;border:1px solid var(--line);}
.fx-num{font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:27px;line-height:1;font-weight:bold;}
.fx-name{font-size:11px;margin-top:4px;letter-spacing:1px;color:var(--ink2);}
.fx-lucky{background:rgba(47,143,78,.14);border-color:rgba(47,143,78,.5);}
.fx-lucky .fx-num{color:#2f7d40;}
.fx-bad{background:rgba(194,67,52,.12);border-color:rgba(194,67,52,.45);}
.fx-bad .fx-num{color:var(--red-d);}
.fx-flat{background:rgba(201,162,39,.12);border-color:rgba(201,162,39,.45);}
.fx-flat .fx-num{color:#b8860b;}
.fx-center{box-shadow:inset 0 0 0 2px var(--gold);}
.fx-legend{text-align:center;margin-top:11px;font-size:12px;color:#8a7a5c;display:flex;gap:14px;justify-content:center;}
.fx-legend .lg{padding:2px 11px;border-radius:10px;}
.fx-legend .lucky{background:rgba(47,143,78,.14);color:#2f7d40;}
.fx-legend .bad{background:rgba(194,67,52,.12);color:var(--red-d);}
.fx-legend .flat{background:rgba(201,162,39,.12);color:#b8860b;}

/* 每日卦象 */
.gua-body{display:flex;gap:26px;align-items:center;justify-content:center;flex-wrap:wrap;}
.gua-yaos{display:flex;flex-direction:column;padding:8px 0;}
.gua-yao{height:9px;margin:4px auto;width:56px;background:var(--ink);border-radius:2px;}
.gua-yao.yin{background:transparent;position:relative;}
.gua-yao.yin::before,.gua-yao.yin::after{content:"";position:absolute;top:0;height:9px;width:22px;background:var(--ink);border-radius:2px;}
.gua-yao.yin::before{left:0;}
.gua-yao.yin::after{right:0;}
.gua-text{max-width:380px;text-align:center;}
.gua-ci{font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:18px;color:var(--red);margin-bottom:9px;letter-spacing:1px;}
.gua-bai{font-size:14px;color:var(--ink2);line-height:1.85;}
.gua-no{font-size:12px;color:#8a7a5c;margin-top:9px;letter-spacing:1px;}

/* ═══════════════ 特效：宜/忌圆标光晕脉动+缩放呼吸 ═══════════════ */
@keyframes yiGlow{
  0%,100%{transform:scale(1);box-shadow:0 0 8px 3px rgba(74,157,91,.5),0 0 22px rgba(74,157,91,.28),0 0 40px rgba(74,157,91,.15);}
  50%{transform:scale(1.14);box-shadow:0 0 16px 8px rgba(74,157,91,.85),0 0 40px rgba(74,157,91,.5),0 0 70px rgba(74,157,91,.3);}
}
@keyframes jiGlow{
  0%,100%{transform:scale(1);box-shadow:0 0 8px 3px rgba(194,67,52,.55),0 0 22px rgba(194,67,52,.3),0 0 40px rgba(194,67,52,.16);}
  50%{transform:scale(1.14);box-shadow:0 0 18px 9px rgba(194,67,52,.9),0 0 46px rgba(194,67,52,.55),0 0 78px rgba(194,67,52,.32);}
}
.alm-yiji .yi .lab{
  animation:yiGlow 1.6s ease-in-out infinite;
  position:relative;
  z-index:2;
}
.alm-yiji .ji .lab{
  animation:jiGlow 1.3s ease-in-out infinite;
  position:relative;
  z-index:2;
}

/* ═══════════════ 特效：宜/忌小徽标 亮金字+光晕缩放呼吸 ═══════════════ */
@keyframes jm-badge-glow{
  0%{transform:scale(.95);box-shadow:0 2px 8px rgba(0,0,0,.18),0 0 10px rgba(255,200,60,.18);
    text-shadow:0 0 6px rgba(255,220,80,.5),0 1px 3px rgba(0,0,0,.35);}
  100%{transform:scale(1.06);box-shadow:0 2px 8px rgba(0,0,0,.22),0 0 20px rgba(255,200,60,.45),0 0 40px rgba(255,180,40,.2);
    text-shadow:0 0 14px rgba(255,230,100,.85),0 0 28px rgba(255,200,60,.4),0 1px 3px rgba(0,0,0,.35);}
}

/* ═══════════════ 特效：值神大印盖印+微晃+光晕 ═══════════════ */
@keyframes sealDrop{
  0%{transform:rotate(-6deg) scale(1.8);opacity:0;}
  50%{transform:rotate(-6deg) scale(.82);opacity:1;}
  65%{transform:rotate(-3deg) scale(1.1);}
  80%{transform:rotate(-8deg) scale(.95);}
  100%{transform:rotate(-6deg) scale(1);}
}
@keyframes sealWobble{
  0%,100%{transform:rotate(-6deg);}
  25%{transform:rotate(-2deg);}
  75%{transform:rotate(-10deg);}
}
@keyframes sealGlowLucky{
  0%,100%{box-shadow:0 6px 18px rgba(0,0,0,.18),0 0 24px rgba(201,162,39,.35),inset 0 0 16px rgba(201,162,39,.12);}
  50%{box-shadow:0 6px 24px rgba(0,0,0,.22),0 0 52px rgba(201,162,39,.7),inset 0 0 28px rgba(201,162,39,.22);}
}
@keyframes sealGlowUnlucky{
  0%,100%{box-shadow:0 6px 18px rgba(0,0,0,.18),0 0 24px rgba(192,67,52,.35),inset 0 0 16px rgba(192,67,52,.12);}
  50%{box-shadow:0 6px 26px rgba(0,0,0,.26),0 0 56px rgba(192,67,52,.75),inset 0 0 28px rgba(192,67,52,.22);}
}
.alm-seal{
  animation:sealDrop .9s cubic-bezier(.22,.9,.38,1) both,
             sealWobble 4s ease-in-out 1s infinite;
}
.alm-seal.lucky{
  animation:sealDrop .9s cubic-bezier(.22,.9,.38,1) both,
             sealWobble 4s ease-in-out 1s infinite,
             sealGlowLucky 2.4s ease-in-out 1.2s infinite;
}
.alm-seal.unlucky{
  animation:sealDrop .9s cubic-bezier(.22,.9,.38,1) both,
             sealWobble 4s ease-in-out 1s infinite,
             sealGlowUnlucky 2s ease-in-out 1.2s infinite;
}
/* 大印内圈虚线缓缓旋转 */
@keyframes dashSpin{
  to{transform:rotate(360deg);}
}
.alm-seal::after{
  animation:dashSpin 30s linear infinite;
}

@media (prefers-reduced-motion: reduce){
  .alm-yiji .yi .lab,.alm-yiji .ji .lab,.alm-seal,.alm-seal::after{animation:none;}
}

@media (max-width:560px){
  .alm-two{grid-template-columns:1fr;}
  .banner-year{font-size:28px;}
  .alm-seal{width:92px;height:92px;}
  .alm-seal .zhen{font-size:34px;}
  .alm-card{padding:18px 14px 4px;}
  .gua-body{gap:16px;}
}
body.dark .alm-wrap{background:linear-gradient(180deg,#221d16,#171209);border-color:#5a4a2a;}
body.dark .alm-banner{background:linear-gradient(180deg,#7A1F20,#4E1012);}
body.dark .alm-card,body.dark .mini-card,body.dark .wx-it,body.dark .ss-it,body.dark .fx-cell,body.dark .alm-yiji .yi,body.dark .alm-yiji .ji,body.dark .alm-jx .jx-row,body.dark .alm-info .info-cell,body.dark .hour-cell,body.dark .ausp-item,body.dark .matter-btn,body.dark .range-btn,body.dark .alm-controls{background:var(--paper2);}
body.dark .gua-yao,body.dark .gua-yao.yin::before,body.dark .gua-yao.yin::after{background:#e8e0cf;}

/* ═══════════════ 姓名详批 · 起名阁 ═══════════════ */
.xm-panel{position:relative;max-width:720px;margin:0 auto;background:linear-gradient(180deg,#fffdf8,#f7efe0);border:2px solid var(--gold);border-radius:14px;padding:26px 22px 18px;box-shadow:0 8px 26px rgba(120,90,30,.12),inset 0 0 0 4px rgba(201,162,39,.18);}
.xm-panel::before{content:"";position:absolute;inset:7px;border:1px dashed var(--line);border-radius:9px;pointer-events:none;}
.xm-panel-hd{position:absolute;top:-15px;left:50%;transform:translateX(-50%);background:linear-gradient(180deg,#9E2A2B,#6B1617);color:#f6e4b0;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:22px;letter-spacing:8px;padding:5px 26px;border-radius:8px;border:1px solid var(--gold);box-shadow:0 4px 12px rgba(0,0,0,.2);}
.xm-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin-top:6px;}
.xm-grid .field:first-child{grid-column:1 / -1;}
.xm-sex{display:flex;gap:18px;align-items:center;padding-top:8px;}
.xm-sex .xb{display:inline-flex;align-items:center;gap:5px;font-size:15px;cursor:pointer;}
.xm-btn{font-size:18px;letter-spacing:10px;padding:10px 30px;}

/* 「起名阁」—— 心脏跳动：边框/背景不动，仅尺寸心跳脉冲 */
@keyframes titleHeartbeat{
  0%{transform:translateX(-50%) scale(1);}
  14%{transform:translateX(-50%) scale(1.12);}
  28%{transform:translateX(-50%) scale(1);}
  42%{transform:translateX(-50%) scale(1.08);}
  70%{transform:translateX(-50%) scale(1);}
  100%{transform:translateX(-50%) scale(1);}
}
.xm-panel-hd{
  background:linear-gradient(180deg,#9E2A2B,#6B1617);
  animation:titleHeartbeat 1.3s ease-in-out infinite;
}
.xm-panel-hd span{
  display:inline-block;
  color:#ffd700;
  text-shadow:0 1px 4px rgba(0,0,0,.3);
  animation:none;
}

/* ═══════════════ 特效：「详批」按钮 ═══════════════ */
@keyframes btnPulse{
  0%,100%{box-shadow:0 4px 14px rgba(146,57,44,.35),0 0 20px rgba(201,162,39,.2),inset 0 1px 0 rgba(255,255,255,.15); transform:scale(1);}
  50%{box-shadow:0 6px 24px rgba(146,57,44,.5),0 0 38px rgba(201,162,39,.45),0 0 60px rgba(255,200,100,.18),inset 0 1px 0 rgba(255,255,255,.25); transform:scale(1.03);}
}
@keyframes btnBorderRun{
  0%{border-color:var(--gold); box-shadow:0 0 8px rgba(201,162,39,.4);}
  33%{border-color:#ffd700; box-shadow:0 0 14px rgba(255,215,0,.55);}
  66%{border-color:#e8c84a; box-shadow:0 0 10px rgba(232,200,74,.45);}
  100%{border-color:var(--gold); box-shadow:0 0 8px rgba(201,162,39,.4);}
}
.xm-btn{
  animation:btnPulse 2.2s ease-in-out infinite;
  position:relative; overflow:hidden;
  transition:transform .15s, box-shadow .15s;
}
.xm-btn::before{
  content:""; position:absolute; top:-2px;left:-100%;width:60%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);
  transition:left .5s;
}
.xm-btn:hover::before{left:160%; transition:left .4s;}
.xm-btn:hover{
  transform:scale(1.06) translateY(-1px);
  box-shadow:0 8px 30px rgba(146,57,44,.55),0 0 48px rgba(201,162,39,.5),0 0 80px rgba(255,210,110,.2);
}
.xm-btn:active{
  transform:scale(.96) translateY(1px);
  box-shadow:0 2px 8px rgba(146,57,44,.4),0 0 12px rgba(201,162,39,.2);
}

@media (prefers-reduced-motion: reduce){
  .xm-panel-hd,.xm-panel-hd span,.xm-btn,.xm-btn::before{animation:none;}
}

.xm-card .xm-head{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-bottom:6px;}
.xm-gauge{width:118px;height:118px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 14px rgba(0,0,0,.12);}
.xm-gauge-in{width:92px;height:92px;border-radius:50%;background:#fffdf8;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 0 2px var(--line);}
.xm-gauge-in .gv{font-size:34px;font-weight:700;color:var(--red-d);line-height:1;}
.xm-gauge-in .gl{font-size:12px;color:#8a7a5c;margin-top:3px;}
.xm-head-info{flex:1;min-width:220px;}
.xm-name{font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:30px;letter-spacing:4px;color:var(--red-d);}
.xm-sec{margin-top:18px;padding-top:14px;border-top:1px dashed var(--line);}
.xm-sec-t{font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:18px;color:var(--red-d);letter-spacing:2px;display:flex;align-items:center;}
.xm-sec-t .dot{width:8px;height:8px;border-radius:50%;background:var(--gold);margin-right:9px;box-shadow:0 0 6px var(--gold);}
.xm-line{margin-top:10px;font-size:14px;line-height:1.85;color:var(--ink2);}
.xm-line .hl{color:#b23a2e;font-size:16px;}
/* 四柱 */
.xm-pillars{display:flex;gap:10px;margin-top:10px;justify-content:space-between;}
.xm-pil{flex:1;background:linear-gradient(180deg,#fff,#f3e9d4);border:1px solid var(--line);border-radius:9px;padding:10px 4px;text-align:center;}
.xm-pil .pl{display:block;font-size:12px;color:#8a7a5c;margin-bottom:5px;}
.xm-pil b{display:block;font-size:24px;color:var(--red-d);font-family:"Kaiti SC",STKaiti,KaiTi,serif;line-height:1.25;}
/* 五行色标签 */
.wx-tag{display:inline-block;font-size:11px;padding:1px 7px;border-radius:9px;color:#fff;margin-right:4px;}
.wx-木{background:#4a9d5b;} .wx-火{background:#d6554a;} .wx-土{background:#c79a4b;} .wx-金{background:#b9a05a;} .wx-水{background:#4a86c2;}
.xm-bar{display:inline-block;height:8px;background:var(--gold);border-radius:4px;vertical-align:middle;}
/* 补益判定卡 */
.xm-check{margin-top:12px;border-radius:10px;padding:12px 14px;border-left:4px solid;}
.xm-check.good{background:rgba(74,157,91,.1);border-color:#4a9d5b;}
.xm-check.warn{background:rgba(199,154,75,.12);border-color:#c79a4b;}
.xm-check.bad{background:rgba(178,58,46,.1);border-color:#b23a2e;}
.xm-check-h{font-weight:700;font-size:15px;margin-bottom:4px;}
.xm-check.good .xm-check-h{color:#2f7d40;} .xm-check.warn .xm-check-h{color:#a9791f;} .xm-check.bad .xm-check-h{color:#b23a2e;}
.xm-check-d{font-size:13px;color:var(--ink2);line-height:1.7;}
/* 生肖宜忌 */
.xm-zx{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;}
.zx-yi,.zx-ji{border-radius:9px;padding:10px 12px;font-size:13px;line-height:1.7;}
.zx-yi{background:rgba(74,157,91,.1);border:1px solid rgba(74,157,91,.35);}
.zx-ji{background:rgba(178,58,46,.09);border:1px solid rgba(178,58,46,.3);}
.zk{display:inline-block;font-weight:700;margin-right:6px;padding:0 6px;border-radius:6px;color:#fff;font-size:12px;}
.zx-yi .zk{background:#4a9d5b;} .zx-ji .zk{background:#b23a2e;}
/* 取名建议字 */
.xm-sugs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.xm-sug{display:inline-flex;align-items:baseline;gap:3px;background:linear-gradient(180deg,#fff,#f3e9d4);border:1px solid var(--gold);border-radius:8px;padding:6px 11px;font-size:18px;font-family:"Kaiti SC",STKaiti,KaiTi,serif;color:var(--red-d);}
.xm-sug i{font-size:11px;color:#8a7a5c;font-style:normal;}
.xm-tip{background:rgba(201,162,39,.1);border:1px dashed var(--gold);border-radius:9px;padding:12px 14px;font-size:13px;color:var(--ink2);line-height:1.75;}
.xm-cell .sub{font-size:12px;opacity:.75;}

@media (max-width:560px){
  .xm-grid{grid-template-columns:1fr;}
  .xm-panel{padding:22px 14px 14px;}
  .xm-panel-hd{font-size:19px;letter-spacing:5px;}
  .xm-gauge{width:100px;height:100px;} .xm-gauge-in{width:78px;height:78px;} .xm-gauge-in .gv{font-size:28px;}
  .xm-zx{grid-template-columns:1fr;}
  .xm-pil b{font-size:20px;}
}
body.dark .xm-panel{background:linear-gradient(180deg,#262017,#1b150e);border-color:#6a5526;}
body.dark .xm-gauge-in{background:#241d13;box-shadow:inset 0 0 0 2px #5a4a2a;}
body.dark .xm-pil,body.dark .xm-sug{background:linear-gradient(180deg,#2c2417,#241d13);border-color:#5a4a2a;}
body.dark .xm-sec-t,body.dark .xm-name{color:var(--red-l);}
body.dark .banner-sub,body.dark .banner-gz{color:#f3dca8;}

/* ══════════════════════ 八字命盘 ══════════════════════ */
.bz-banner{text-align:center;padding:26px 16px 22px;background:linear-gradient(180deg,#9E2A2B,#6B1617);color:#fff;position:relative;z-index:1;border-bottom:3px solid var(--gold);box-shadow:0 6px 22px rgba(0,0,0,.22);}
.bz-banner::after{content:"";position:absolute;inset:6px;border:1px solid rgba(255,215,120,.45);pointer-events:none;}
.bz-banner-main{font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:34px;letter-spacing:14px;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.35);}
.bz-banner-sub{margin-top:8px;font-size:13px;letter-spacing:5px;color:#f6e4b0;}

/* ═══ 阴阳鱼（SVG真阴阳鱼，左侧转动） ═══ */
.bz-yinyang{
  position:absolute;left:18px;top:50%;transform:translateY(-50%);
  width:60px;height:60px;
  animation:yySpin 6s linear infinite;
  filter:drop-shadow(0 0 10px rgba(201,162,39,.5)) drop-shadow(0 0 24px rgba(201,162,39,.2));
}
.bz-yinyang svg{width:100%;height:100%;display:block;}
@keyframes yySpin{to{transform:translateY(-50%) rotate(360deg);}}

/* ═══ 八字命盘标题文字眩晕 ═══ */
@keyframes bzDizzy{
  0%,100%{color:#ffd700;text-shadow:0 0 6px rgba(255,215,0,.5),0 0 16px rgba(255,215,0,.25),2px 2px 0 rgba(0,0,0,.3);transform:scale(1) skewX(0deg) rotate(0deg);}
  16%{color:#ffe066;text-shadow:0 0 10px rgba(255,224,102,.9),0 0 26px rgba(255,200,80,.55),-1px -1px 0 rgba(0,0,0,.25);transform:scale(1.05) skewX(-1.5deg) rotate(.3deg);}
  33%{color:#fff;text-shadow:0 0 8px rgba(255,255,255,.9),0 0 20px rgba(255,230,150,.6),1px 2px 0 rgba(0,0,0,.27);transform:scale(1.03) skewX(1deg) rotate(-.3deg);}
  50%{color:#ffec82;text-shadow:0 0 14px rgba(255,236,130,1),0 0 32px rgba(255,220,90,.65),-1px 2px 0 rgba(0,0,0,.24);transform:scale(1.07) skewX(-1deg) rotate(.4deg);}
  66%{color:#ffd700;text-shadow:0 0 10px rgba(255,215,0,.85),0 0 24px rgba(255,200,60,.5),2px -1px 0 rgba(0,0,0,.26);transform:scale(1.04) skewX(1.3deg) rotate(-.2deg);}
  83%{color:#fff8b0;text-shadow:0 0 12px rgba(255,248,176,1),0 0 28px rgba(255,230,100,.6),-2px 1px 0 rgba(0,0,0,.23);transform:scale(1.06) skewX(-.8deg) rotate(.3deg);}
}
.bz-banner-main span{display:inline-block;animation:bzDizzy 2.4s ease-in-out infinite;}
.bz-panel{max-width:640px;margin:22px auto 0;background:linear-gradient(180deg,var(--paper2),var(--paper));border:1px solid var(--gold);border-radius:16px;padding:20px 22px;box-shadow:0 14px 40px rgba(0,0,0,.14),inset 0 0 0 1px rgba(201,162,39,.18);}
.bz-card .bz-note{font-size:13px;color:#8a7a5c;line-height:1.9;margin:12px 0 0;border-top:1px dashed var(--line);padding-top:11px;}

/* 四柱 */
.bz-four{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.bz-pillar{background:linear-gradient(180deg,#fff,var(--paper2));border:1px solid var(--line);border-top:3px solid var(--red);border-radius:12px;padding:14px 8px;text-align:center;box-shadow:0 6px 16px rgba(0,0,0,.08);}
.bz-p-tag{font-size:13px;color:var(--red);letter-spacing:2px;margin-bottom:8px;font-family:"Kaiti SC",STKaiti,KaiTi,serif;}
.bz-gan,.bz-zhi{font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:30px;line-height:1.25;color:var(--ink);position:relative;display:inline-block;width:46px;margin:2px auto;}
.bz-gan{color:var(--red-d);}
.wx-dot{position:absolute;right:-12px;top:50%;transform:translateY(-50%);width:9px;height:9px;border-radius:50%;border:1px solid rgba(0,0,0,.15);}
.bz-nayin{font-size:12px;color:#8a7a5c;margin:6px 0 4px;letter-spacing:1px;}
.bz-ss{display:flex;justify-content:center;gap:6px;margin:4px 0;}
.bz-ss .ss-t,.bz-ss .ss-z{font-size:11px;padding:2px 7px;border-radius:10px;background:rgba(201,162,39,.12);color:var(--red-d);border:1px solid rgba(201,162,39,.3);}
.bz-ss .ss-z{background:rgba(58,124,165,.12);color:#2f6488;border-color:rgba(58,124,165,.3);}
.bz-zang{font-size:11px;color:#6f6450;margin-top:8px;line-height:1.6;}
.bz-zang b{color:var(--red);}

/* 五行旺衰 */
.bz-wuxing{margin-top:6px;display:flex;flex-direction:column;gap:11px;}
.bz-wx-row{display:flex;align-items:center;gap:12px;}
.bz-wx-k{flex:0 0 22px;font-size:17px;font-weight:700;text-align:center;}
.bz-wx-bar{flex:1;height:16px;background:rgba(0,0,0,.06);border-radius:8px;overflow:hidden;border:1px solid var(--line);}
.bz-wx-fill{display:block;height:100%;border-radius:8px;transition:width .6s ease;}
.bz-wx-v{flex:0 0 96px;font-size:13px;color:var(--ink2);text-align:right;}

/* 日主喜用 */
.bz-dm{display:flex;align-items:center;gap:20px;margin-top:8px;flex-wrap:wrap;}
.bz-dm-main{font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:58px;font-weight:700;line-height:1;text-align:center;}
.bz-dm-main span{display:block;font-size:18px;margin-top:4px;}
.bz-dm-info{flex:1;min-width:220px;}
.bz-dm-info p{line-height:2;color:var(--ink2);font-size:15px;margin:4px 0;}
.bz-xi{display:inline-block;font-size:14px;padding:3px 12px;border:1px solid;border-radius:14px;margin:2px 4px;font-weight:600;}

/* 十神详解 */
.bz-ss-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:6px;}
.bz-ss-item{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:10px;padding:10px 12px;}
.bz-ss-name{display:block;font-size:13px;color:var(--ink2);}
.bz-ss-val{display:inline-block;font-size:16px;font-weight:700;margin:3px 0;}
.bz-ss-desc{display:block;font-size:12px;color:#8a7a5c;line-height:1.7;}

/* 十二长生 */
.bz-cs{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;}
.bz-cs-item{flex:1 1 120px;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:10px;padding:10px 12px;text-align:center;}
.bz-cs-tag{display:block;font-size:12px;color:#8a7a5c;margin-bottom:4px;}
.bz-cs-name{font-size:18px;font-weight:700;font-family:"Kaiti SC",STKaiti,KaiTi,serif;}
.cs-good{color:#3f9d5b;}
.cs-mid{color:var(--gold);}
.cs-bad{color:var(--red);}

/* 神煞 */
.bz-ssha-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:6px;}
.bz-ssha{background:linear-gradient(180deg,#fff,var(--paper2));border:1px solid var(--line);border-radius:11px;padding:12px 8px;text-align:center;box-shadow:0 5px 14px rgba(0,0,0,.07);}
.bz-ssha b{display:block;font-size:14px;color:var(--red);letter-spacing:1px;font-family:"Kaiti SC",STKaiti,KaiTi,serif;}
.bz-ssha span{display:block;font-size:20px;color:var(--gold);font-weight:700;margin:6px 0 4px;}
.bz-ssha i{display:block;font-size:11px;color:#8a7a5c;font-style:normal;line-height:1.5;}

/* 大运 */
.bz-dayun{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px;}
.bz-dy-item{background:linear-gradient(180deg,#fff,var(--paper2));border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:10px;padding:10px 12px;text-align:center;box-shadow:0 5px 14px rgba(0,0,0,.07);}
.bz-dy-age{display:block;font-size:12px;color:#8a7a5c;}
.bz-dy-gz{display:block;font-size:22px;font-weight:700;color:var(--red-d);font-family:"Kaiti SC",STKaiti,KaiTi,serif;margin:3px 0;}
.bz-dy-na{display:block;font-size:12px;color:var(--gold);}
.bz-dy-ss{display:block;font-size:12px;color:var(--ink2);margin-top:2px;}
.bz-dy-lv{display:inline-block;margin-top:5px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;border:1px solid currentColor;}
.bz-dy-good{border-left-color:#2e8b57;}.bz-dy-good .bz-dy-lv{color:#2e8b57;}
.bz-dy-mid{border-left-color:var(--gold);}.bz-dy-mid .bz-dy-lv{color:#b8860b;}
.bz-dy-bad{border-left-color:var(--red-d);}.bz-dy-bad .bz-dy-lv{color:var(--red-d);}

/* 流年详解卡片 */
.bz-liu{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:12px;}
.bz-liu-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:linear-gradient(180deg,#fff,var(--paper2));box-shadow:0 6px 18px rgba(0,0,0,.06);transition:transform .2s,box-shadow .2s;}
.bz-liu-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(0,0,0,.1);}
.bz-liu-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fbf6ec,#f3e9d6);}
.bz-liu-y{font-size:13px;color:#8a7a5c;font-weight:700;}
.bz-liu-gz{font-size:20px;font-weight:700;color:var(--red-d);font-family:"Kaiti SC",STKaiti,KaiTi,serif;letter-spacing:2px;}
.bz-liu-lv{font-size:12px;font-weight:700;padding:2px 8px;border-radius:20px;background:#efe6d2;color:#8a6d2f;white-space:nowrap;}
.bz-liu-body{padding:10px 12px;}
.bz-liu-body p{margin:5px 0;font-size:13px;line-height:1.6;color:var(--ink2);}
.bz-liu-na b{color:var(--red-d);}
.bz-liu-ss b{color:var(--gold);}
.bz-liu-tip{color:#a23b2e !important;background:rgba(162,59,46,.06);padding:5px 8px;border-radius:6px;border-left:3px solid #a23b2e;}
.bz-liu-now{border-color:var(--gold);box-shadow:0 6px 20px rgba(180,140,60,.22);}
.bz-liu-now .bz-liu-top{background:linear-gradient(180deg,#f7eccf,#ecd9a8);}
.bz-liu-good .bz-liu-lv{background:rgba(46,139,87,.14);color:#2e8b57;}
.bz-liu-good{border-color:rgba(46,139,87,.4);}
.bz-liu-mid .bz-liu-lv{background:rgba(184,134,11,.16);color:#b8860b;}
.bz-liu-bad .bz-liu-lv{background:rgba(162,59,46,.14);color:var(--red-d);}
.bz-liu-bad{border-color:rgba(162,59,46,.4);}
body.dark .bz-liu-card{background:linear-gradient(180deg,#2c2417,#241d13);border-color:#5a4a2a;}
body.dark .bz-liu-top{background:linear-gradient(180deg,#322a1b,#2a2214);}
body.dark .bz-liu-body p{color:#cdbfa3;}

/* 八字卡片序号印章 + 命盘总览 + 纳音意象 */
.bz-card{padding-left:60px;}
.bz-seal-no{position:absolute;left:14px;top:18px;width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,var(--red),var(--red-d));color:#fff;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:19px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 5px 12px rgba(120,20,20,.35);border:1px solid rgba(255,235,200,.45);z-index:2;}
.bz-ov-card{padding-left:22px;}
.bz-ov-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:6px;}
.bz-ov{background:linear-gradient(180deg,#fff,var(--paper2));border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:10px;padding:14px 10px;text-align:center;box-shadow:0 6px 16px rgba(0,0,0,.06);}
.bz-ov b{display:block;font-size:13px;color:#8a7a5c;font-weight:600;letter-spacing:2px;}
.bz-ov span{display:block;font-size:18px;font-weight:700;font-family:"Kaiti SC",STKaiti,KaiTi,serif;margin:6px 0 2px;}
.bz-ov i{display:block;font-size:11px;color:#a08a5c;font-style:normal;}
.bz-na-item{display:grid;grid-template-columns:1fr 1fr 2.2fr;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#fff,var(--paper2));margin-top:8px;box-shadow:0 4px 12px rgba(0,0,0,.05);}
.bz-na-tag{font-size:13px;color:#8a7a5c;}
.bz-na-name{font-size:17px;font-weight:700;font-family:"Kaiti SC",STKaiti,KaiTi,serif;}
.bz-na-yi{font-size:13px;color:var(--ink2);line-height:1.6;}
@media (max-width:640px){
  .bz-ov-grid{grid-template-columns:repeat(2,1fr);}
  .bz-na-item{grid-template-columns:1fr;gap:3px;text-align:center;}
}
body.dark .bz-ov,body.dark .bz-na-item{background:linear-gradient(180deg,#2c2417,#241d13);border-color:#5a4a2a;}

/* 格局点评 */
.bz-final{background:linear-gradient(180deg,#fff7ec,var(--paper))!important;border-color:var(--gold)!important;}
.bz-ping{line-height:2;color:var(--ink2);font-size:15px;margin-top:8px;}

/* 八字卡片标题描金前缀 + 整体高端 */
.bz-card h3{position:relative;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.bz-card h3::before{content:"❖";color:var(--gold);font-size:13px;opacity:.9;transform:translateY(1px);flex:none;}
.bz-card h3::after{content:"";flex:1;min-width:24px;height:1px;background:linear-gradient(90deg,var(--gold),transparent);opacity:.45;margin-left:4px;}

/* 命格总论·金匮分区 */
.bz-final{background:
  linear-gradient(180deg,rgba(255,247,236,.97),rgba(250,240,222,.97)),
  repeating-linear-gradient(45deg,rgba(212,168,75,.05) 0 10px,transparent 10px 20px)
  !important;border:1.5px solid var(--gold)!important;box-shadow:0 18px 50px rgba(120,20,20,.16),inset 0 0 0 4px rgba(212,168,75,.18)!important;}
.bz-zong-lead{font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:17px;line-height:2;color:var(--red-d);text-align:center;letter-spacing:1px;padding:10px 14px;margin:6px 0 4px;background:linear-gradient(180deg,#fff,var(--paper2));border:1px solid var(--line);border-radius:10px;box-shadow:inset 0 0 14px rgba(212,168,75,.12);}
.bz-zong-sec{margin-top:16px;padding-top:14px;border-top:1px dashed rgba(212,168,75,.5);}
.bz-zong-sec:first-of-type{border-top:none;padding-top:4px;}
.bz-zong-h{display:flex;align-items:center;gap:10px;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:16px;font-weight:700;color:var(--ink);letter-spacing:2px;margin-bottom:8px;}
.bz-zong-h span{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--red),var(--red-d));color:#fff;font-size:14px;box-shadow:0 3px 8px rgba(120,20,20,.3);border:1px solid rgba(255,235,200,.5);flex:none;}
.bz-zong-p{line-height:2;color:var(--ink2);font-size:14.5px;text-align:justify;}
.bz-zong-sub{line-height:1.9;color:#8a7a5c;font-size:13px;margin-top:8px;padding-left:10px;border-left:3px solid rgba(212,168,75,.4);}
.bz-zong-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.bz-tag{font-size:12px;padding:3px 12px;border-radius:20px;font-weight:600;letter-spacing:1px;border:1px solid;}
.bz-tag-g{color:#2e8b57;border-color:rgba(46,139,87,.4);background:rgba(46,139,87,.08);}
.bz-tag-b{color:var(--red-d);border-color:rgba(162,59,46,.4);background:rgba(162,59,46,.07);}
.bz-yong-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px;}
.bz-yong-item{text-align:center;padding:12px 6px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#fff,var(--paper2));box-shadow:0 5px 14px rgba(0,0,0,.05);}
.bz-yong-k{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;color:#fff;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:16px;font-weight:700;box-shadow:0 3px 8px rgba(0,0,0,.18);}
.bz-yong-item b{display:block;font-size:18px;font-family:"Kaiti SC",STKaiti,KaiTi,serif;margin:8px 0 3px;}
.bz-yong-item i{font-style:normal;font-size:11px;color:#a08a5c;line-height:1.5;}
.bz-life-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:4px;}
.bz-life-item{border:1px solid var(--line);border-radius:10px;padding:12px;background:linear-gradient(180deg,#fff,var(--paper2));box-shadow:0 4px 12px rgba(0,0,0,.05);}
.bz-life-t{font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:15px;font-weight:700;color:var(--red-d);letter-spacing:2px;padding-bottom:6px;margin-bottom:6px;border-bottom:1px solid rgba(212,168,75,.35);}
.bz-life-b{font-size:12.5px;line-height:1.8;color:var(--ink2);text-align:justify;}
.bz-zong-last{padding-bottom:4px;}
.bz-zong-disc{margin-top:12px;font-size:11.5px;line-height:1.7;color:#b09a6a;background:rgba(212,168,75,.07);border:1px dashed rgba(212,168,75,.4);border-radius:8px;padding:8px 10px;}

@media (max-width:640px){
  .bz-yong-grid{grid-template-columns:repeat(2,1fr);}
  .bz-life-grid{grid-template-columns:1fr;}
}
body.dark .bz-zong-lead{background:linear-gradient(180deg,#2c2417,#241d13);color:var(--red-l);}
body.dark .bz-zong-sec{border-top-color:rgba(212,168,75,.3);}
body.dark .bz-zong-p,body.dark .bz-life-b{color:#cdbfa3;}
body.dark .bz-yong-item,body.dark .bz-life-item{background:linear-gradient(180deg,#2c2417,#241d13);border-color:#5a4a2a;}
body.dark .bz-zong-disc{background:rgba(212,168,75,.06);color:#a8916a;}

@media (max-width:640px){
  .bz-four{grid-template-columns:repeat(2,1fr);}
  .bz-ss-list{grid-template-columns:1fr;}
  .bz-ssha-grid{grid-template-columns:repeat(2,1fr);}
  .bz-dayun{grid-template-columns:repeat(2,1fr);}
  .bz-banner-main{font-size:26px;letter-spacing:8px;}
}
body.dark .bz-panel{background:linear-gradient(180deg,#241d13,#1b150e);border-color:#6a5526;}
body.dark .bz-pillar,body.dark .bz-ssha,body.dark .bz-dy-item{background:linear-gradient(180deg,#2c2417,#241d13);border-color:#5a4a2a;}
body.dark .bz-p-tag,body.dark .bz-gan,body.dark .bz-dy-gz{color:var(--red-l);}
body.dark .bz-final{background:linear-gradient(180deg,#2e2615,#241d13)!important;}
body.dark .bz-wx-bar{background:rgba(255,255,255,.06);}
body.dark .bz-ss-item,body.dark .bz-cs-item{background:rgba(255,255,255,.03);}

/* ===== 星座运势 · 高端化 ===== */
.chip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.chip{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 4px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#fff,var(--paper2));cursor:pointer;font-size:14px;color:var(--ink);transition:.25s;box-shadow:0 4px 12px rgba(0,0,0,.05);user-select:none;}
/* 星座图标 - 精美独立图片 */
.xz-icon-sm{display:inline-block;width:28px;height:28px;border-radius:6px;object-fit:cover;vertical-align:middle;flex:none;}
/* 小图明显特效：金色描边 + 呼吸光晕 + 轻微浮动（默认即生效，hover 增强） */
.chip .xz-icon-sm{width:32px;height:32px;border-radius:9px;flex:none;border:2px solid rgba(212,168,75,.55);animation:xzIconFx 3s ease-in-out infinite;}
.chip:nth-child(even) .xz-icon-sm{animation-delay:1.1s;}
.chip:hover .xz-icon-sm{animation:none;transform:scale(1.32);border-color:#ffd97a;box-shadow:0 0 0 4px rgba(212,168,75,.35),0 6px 18px rgba(212,168,75,.65);}
@keyframes xzIconFx{0%{transform:translateY(0);box-shadow:0 2px 6px rgba(0,0,0,.12),0 0 6px rgba(212,168,75,.25);}50%{transform:translateY(-3px);box-shadow:0 2px 6px rgba(0,0,0,.12),0 0 16px rgba(212,168,75,.6);}100%{transform:translateY(0);box-shadow:0 2px 6px rgba(0,0,0,.12),0 0 6px rgba(212,168,75,.25);}}
.chip:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(0,0,0,.1);border-color:var(--gold);}
.chip.active{background:linear-gradient(135deg,var(--red),var(--red-d));color:#fff;border-color:rgba(255,235,200,.5);box-shadow:0 8px 20px rgba(120,20,20,.35);}

.xz-arc{display:flex;gap:18px;align-items:center;}

.xz-sym{width:100px;height:100px;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.12),0 0 20px rgba(212,168,75,.15);flex:none;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff,var(--paper2));}
.xz-sym img{width:90px;height:90px;border-radius:12px;object-fit:contain;}
.xz-arc-main{flex:1;min-width:0;}
.xz-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 6px;}
.xz-tags span{font-size:12px;padding:3px 11px;border-radius:20px;background:rgba(212,168,75,.12);color:#8a6a2a;border:1px solid rgba(212,168,75,.35);}
.xz-char{font-size:13.5px;line-height:1.95;color:var(--ink2);margin:4px 0 0;}

.xz-hd{font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:18px;font-weight:700;color:var(--red-d);letter-spacing:3px;padding-bottom:8px;margin-bottom:12px;border-bottom:2px solid rgba(212,168,75,.35);display:flex;align-items:center;gap:8px;}
.xz-hd::before{content:"❖";color:var(--gold);font-size:13px;}
.xz-tip{font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:16px;color:var(--red);text-align:center;line-height:1.9;background:linear-gradient(180deg,#fff,var(--paper2));border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:2px 0 12px;}
.xz-detail{margin-top:12px;display:flex;flex-direction:column;gap:7px;}
.xz-detail-item{font-size:13px;color:var(--ink2);line-height:1.85;padding-left:11px;border-left:3px solid rgba(212,168,75,.4);}
.xz-detail-item b{color:var(--red-d);margin-right:2px;}
.xz-luck{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px;}
.xz-luck-cell{text-align:center;padding:11px 4px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#fff,var(--paper2));box-shadow:0 4px 12px rgba(0,0,0,.05);}
.xz-luck-k{display:block;font-size:11px;color:#8a7a5c;letter-spacing:1px;}
.xz-luck-cell b{display:block;font-size:16px;font-family:"Kaiti SC",STKaiti,KaiTi,serif;color:var(--gold);margin-top:4px;}
.xz-month{font-size:14px;line-height:2;color:var(--ink2);text-align:justify;margin:12px 0 0;}

.xz-pair-hint{font-size:13px;color:#8a7a5c;margin-bottom:10px;}
.xz-pair-list{display:flex;flex-wrap:wrap;gap:8px;}
.xz-pair-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 13px;border:1px solid var(--line);border-radius:20px;background:#fff;cursor:pointer;font-size:13px;color:var(--ink);transition:.2s;user-select:none;}
.xz-pair-chip .xz-icon-sm{width:20px;height:20px;border-radius:4px;flex:none;vertical-align:middle;}
.xz-pair-chip:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.08);}
.xz-pair-result{margin-top:16px;min-height:10px;}
.xz-pair-show{display:flex;align-items:center;justify-content:center;gap:24px;}
.xz-pair-sym{text-align:center;}
.xz-pair-sym span{display:block;font-size:40px;color:var(--gold);line-height:1;text-shadow:0 4px 12px rgba(212,168,75,.3);}
.xz-pair-sym i{font-style:normal;font-size:13px;color:var(--ink2);}
.xz-ring{position:relative;width:104px;height:104px;border-radius:50%;background:conic-gradient(var(--gold) calc(var(--p)*1%), rgba(0,0,0,.08) 0);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.12);flex:none;}
.xz-ring::before{content:"";position:absolute;width:78px;height:78px;border-radius:50%;background:#fff;}
.xz-ring span{position:relative;font-size:26px;font-weight:700;color:var(--red-d);font-family:"Kaiti SC",STKaiti,KaiTi,serif;}
.xz-pair-tip{text-align:center;font-size:14px;color:var(--ink2);line-height:1.9;margin-top:14px;}
.xz-pair-tip b{color:var(--red-d);font-size:16px;}

@media (max-width:640px){
  .chip-grid{grid-template-columns:repeat(3,1fr);}
  .xz-luck{grid-template-columns:repeat(2,1fr);}
  .xz-arc{flex-direction:column;text-align:center;}
  .xz-tags{justify-content:center;}
  .xz-pair-show{gap:14px;}
}
body.dark .chip{background:linear-gradient(180deg,#2c2417,#241d13);border-color:#5a4a2a;color:#e7d9bd;}
body.dark .xz-tags span{background:rgba(212,168,75,.14);color:#d8be86;}
body.dark .xz-tip,body.dark .xz-luck-cell{background:linear-gradient(180deg,#2c2417,#241d13);border-color:#5a4a2a;}
body.dark .xz-pair-chip{background:#241d13;border-color:#5a4a2a;color:#e7d9bd;}
body.dark .xz-ring::before{background:#241d13;}

/* ===== 星座页高端升级（限定 .xz-page，不影响其他页） ===== */
.xz-page .page-title{position:relative;font-size:38px;letter-spacing:10px;padding:8px 0 16px;background:linear-gradient(180deg,#f0d27a,#c9952a);-webkit-background-clip:text;background-clip:text;color:transparent;}
.xz-page .page-title::before{content:"◆";position:absolute;left:50%;bottom:-11px;transform:translateX(-50%);color:var(--gold);font-size:13px;text-shadow:0 0 8px rgba(201,162,39,.6);}
.xz-page .page-title::after{content:"";position:absolute;left:50%;bottom:5px;transform:translateX(-50%);width:210px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);}
.xz-page .page-sub{font-size:14px;letter-spacing:6px;color:#9a875f;margin-bottom:26px;}
.xz-page .tcard{margin-top:20px;padding:26px 24px;border:1px solid var(--gold);border-radius:18px;background:linear-gradient(180deg,#fffdf7,var(--paper2));box-shadow:0 18px 50px rgba(60,40,10,.16),inset 0 2px 0 rgba(255,255,255,.6);}
.xz-page .tcard::before{content:"";position:absolute;inset:8px;border:1px dashed rgba(201,162,39,.45);border-radius:12px;pointer-events:none;}
.xz-page .xz-hd{font-size:20px;color:transparent;background:linear-gradient(180deg,#e8c86a,#bd8a2a);-webkit-background-clip:text;background-clip:text;padding-bottom:10px;border-bottom:1px solid rgba(201,162,39,.4);}
.xz-page .xz-hd::before{content:"❖";color:var(--gold);-webkit-text-fill-color:var(--gold);font-size:14px;margin-right:8px;}
.xz-page .xz-bar{display:inline-block;height:9px;border-radius:5px;background:linear-gradient(90deg,var(--gold-l),var(--gold));box-shadow:0 0 8px rgba(201,162,39,.45),0 1px 2px rgba(0,0,0,.15);vertical-align:middle;}
.xz-page .xz-ring{background:conic-gradient(from 0deg,var(--gold-l),var(--gold) calc(var(--p)*1%),rgba(0,0,0,.08) 0);box-shadow:0 0 0 4px rgba(201,162,39,.12),0 10px 26px rgba(178,58,46,.18),0 0 22px rgba(201,162,39,.35);}
.xz-page .xz-ring::before{background:radial-gradient(circle,#fffdf7,var(--paper2));box-shadow:inset 0 0 0 1px rgba(201,162,39,.3);}
.xz-page .xz-ring span{color:var(--red-d);text-shadow:0 1px 0 rgba(255,255,255,.6);}
.xz-page .xz-sym{width:116px;height:116px;border-radius:20px;border:2px solid rgba(201,162,39,.5);box-shadow:0 6px 22px rgba(0,0,0,.14),0 0 26px rgba(201,162,39,.22);}
.xz-page .xz-sym img{width:100px;height:100px;}
.xz-page .chip{position:relative;overflow:hidden;background:linear-gradient(180deg,#fffdf7,var(--paper2));}
.xz-page .chip::after{content:"";position:absolute;top:0;left:0;right:0;height:42%;background:linear-gradient(180deg,rgba(255,255,255,.6),transparent);pointer-events:none;}
.xz-page .chip.active{border-color:var(--gold);box-shadow:0 10px 26px rgba(178,58,46,.28),inset 0 0 0 2px rgba(201,162,39,.4);}
.xz-page .xz-tip{border:1px solid rgba(201,162,39,.45);background:linear-gradient(180deg,#fffdf7,var(--paper2));color:var(--red-d);box-shadow:0 4px 14px rgba(178,58,46,.08);}

/* 暗色适配 */
body.dark .xz-page .tcard{background:linear-gradient(180deg,#2c2417,#221b12);border-color:#6a5526;}
body.dark .xz-page .tcard::before{border-color:rgba(227,196,90,.38);}
body.dark .xz-page .xz-ring::before{background:radial-gradient(circle,#2c2417,#221b12);}
body.dark .xz-page .xz-sym{background:linear-gradient(135deg,#2c2417,#221b12);border-color:#6a5526;}
body.dark .xz-page .chip{background:linear-gradient(180deg,#2c2417,#221b12);}
body.dark .xz-page .xz-tip{background:linear-gradient(180deg,#2c2417,#221b12);border-color:#6a5526;}

/* ===== 星座页二版：字体醒目 + 锦缎金框 + 详细内容 ===== */
.xz-page{font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC","Heiti SC",sans-serif;max-width:1000px;padding:30px 28px 34px;border:2px solid var(--gold);border-radius:22px;background-color:#fbf4e2;background-image:repeating-linear-gradient(45deg,rgba(201,162,39,.045) 0 2px,transparent 2px 10px);box-shadow:0 24px 70px rgba(60,40,10,.18),inset 0 0 0 6px rgba(255,255,255,.45),inset 0 0 0 7px rgba(201,162,39,.28);}
.xz-page .page-title{font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;font-weight:800;}
.xz-page .xz-hd{font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;font-weight:700;}
.xz-page .tcard h3{font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;font-weight:700;}
.xz-page .alm-cell .k{font-weight:700;}
.xz-page .alm-cell .v{font-size:16px;font-weight:700;color:var(--ink);}
.xz-page .xz-luck-cell b{font-size:20px;}
.xz-page .xz-date{font-size:14px;color:#8a7a5c;letter-spacing:1px;margin-left:8px;font-weight:400;}
.xz-page .xz-char2{font-size:14px;line-height:2;color:var(--ink2);margin:8px 0 0;text-align:justify;}
.xz-page .xz-ad{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;}
.xz-page .xz-ad-adv,.xz-page .xz-ad-dis{font-size:12.5px;padding:4px 12px;border-radius:20px;}
.xz-page .xz-ad-adv{background:rgba(120,160,90,.14);color:#5a7a3a;border:1px solid rgba(120,160,90,.4);}
.xz-page .xz-ad-dis{background:rgba(178,58,46,.1);color:var(--red-d);border:1px solid rgba(178,58,46,.32);}
.xz-page .xz-astro{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;}
.xz-page .xz-astro span{font-size:12px;padding:4px 11px;border-radius:8px;background:rgba(201,162,39,.12);color:#8a6a2a;border:1px solid rgba(201,162,39,.35);}
.xz-page .xz-detail-item{display:flex;flex-direction:column;gap:3px;}
.xz-page .xz-d-t{font-size:13.5px;color:var(--ink2);line-height:1.85;}
.xz-page .xz-d-a{font-size:12.5px;color:var(--gold);line-height:1.7;padding-left:2px;}
.xz-page .xz-note{font-size:13.5px;color:var(--red-d);text-align:center;margin:8px 0 2px;font-family:"Kaiti SC",STKaiti,KaiTi,serif;letter-spacing:1px;}
.xz-page .xz-month-detail{display:flex;flex-direction:column;gap:10px;margin:14px 0 0;}
.xz-page .xz-md{font-size:13.5px;line-height:1.95;color:var(--ink2);text-align:justify;padding-left:12px;border-left:3px solid rgba(201,162,39,.45);}
.xz-page .xz-md b{color:var(--red-d);margin-right:6px;font-family:"PingFang SC","Microsoft YaHei",sans-serif;}
.xz-page .xz-pair-ad{text-align:center;font-size:13px;color:var(--gold);line-height:1.8;margin-top:8px;}

/* 暗色适配（二版） */
body.dark .xz-page{background-color:#221b12;background-image:repeating-linear-gradient(45deg,rgba(227,196,90,.05) 0 2px,transparent 2px 10px);border-color:#6a5526;box-shadow:0 24px 70px rgba(0,0,0,.5),inset 0 0 0 6px rgba(0,0,0,.3),inset 0 0 0 7px rgba(227,196,90,.25);}
body.dark .xz-page .alm-cell .v{color:#ead9b8;}
body.dark .xz-page .xz-astro span{background:rgba(227,196,90,.14);color:#d8be86;}
body.dark .xz-page .xz-ad-adv{background:rgba(140,180,110,.16);color:#b6cf8e;}
body.dark .xz-page .xz-ad-dis{background:rgba(214,85,74,.16);color:#e89a92;}

/* ===== 星座页三版：专业占星元素 ===== */
.xz-page .xz-stars{display:inline-block;margin-left:6px;color:var(--gold);font-size:14px;letter-spacing:2px;text-shadow:0 0 6px rgba(201,162,39,.35);}
.xz-page .xz-prof{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 2px;}
.xz-page .xz-prof span{font-size:11.5px;padding:3px 10px;border-radius:6px;background:rgba(60,40,10,.04);color:#7a6843;border:1px solid rgba(201,162,39,.3);}
.xz-page .xz-career{font-size:12.5px;color:#6f5a2e;margin:9px 0 0;padding:6px 12px;border-left:3px solid rgba(120,160,90,.55);background:rgba(120,160,90,.08);border-radius:0 8px 8px 0;line-height:1.7;}
.xz-page .xz-career::before{content:"✦ 适合领域 · ";color:#5a7a3a;font-weight:700;}
.xz-page .xz-tarot{font-size:12.5px;color:#8a6a2a;margin:7px 0 0;padding:6px 12px;border-left:3px solid rgba(201,162,39,.55);background:rgba(201,162,39,.08);border-radius:0 8px 8px 0;line-height:1.7;}
.xz-page .xz-tarot::before{content:"☾ 塔罗牌 · ";color:var(--gold);font-weight:700;}
.xz-page .xz-year-intro{font-size:13.5px;line-height:2;color:var(--ink2);text-align:justify;margin:2px 0 14px;}
.xz-page .xz-ytrend{display:flex;align-items:flex-end;justify-content:space-between;gap:4px;height:108px;padding:6px 2px 0;border-bottom:1px solid rgba(201,162,39,.35);}
.xz-page .xz-ycol{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%;}
.xz-page .xz-yv{font-size:10px;color:#8a7a5c;font-weight:700;}
.xz-page .xz-ybar{width:62%;max-width:22px;border-radius:4px 4px 0 0;background:linear-gradient(180deg,var(--gold-l),var(--gold));box-shadow:0 0 6px rgba(201,162,39,.3);}
.xz-page .xz-ybest{background:linear-gradient(180deg,#ffd97a,#e8a93a);box-shadow:0 0 11px rgba(232,169,58,.65);}
.xz-page .xz-ylow{background:linear-gradient(180deg,#c98a8a,#a85a5a);box-shadow:none;}
.xz-page .xz-ym{font-size:10px;color:#8a7a5c;}
.xz-page .xz-guide{margin-top:16px;text-align:center;font-size:13px;color:var(--red-d);line-height:1.85;padding:10px 12px;border:1px dashed rgba(201,162,39,.5);border-radius:10px;background:linear-gradient(180deg,#fffdf7,var(--paper2));}
.xz-page .xz-guide b{color:var(--gold);}

/* 暗色适配（三版） */
body.dark .xz-page .xz-prof span{background:rgba(227,196,90,.1);color:#cdb681;}
body.dark .xz-page .xz-career{background:rgba(140,180,110,.14);color:#b6cf8e;}
body.dark .xz-page .xz-career::before{color:#b6cf8e;}
body.dark .xz-page .xz-tarot{background:rgba(227,196,90,.12);color:#d8be86;}
body.dark .xz-page .xz-tarot::before{color:#d8be86;}
body.dark .xz-page .xz-ytrend{border-color:rgba(227,196,90,.35);}
body.dark .xz-page .xz-guide{background:linear-gradient(180deg,#2c2417,#221b12);border-color:#6a5526;}

/* ===== 星座页四版：四元素特质 + 对宫星座 + 深度解读 ===== */
.xz-page .xz-elem{font-size:13px;line-height:2;color:var(--ink2);text-align:justify;margin:10px 0 0;padding:9px 13px;background:rgba(201,162,39,.06);border-radius:9px;border:1px solid rgba(201,162,39,.28);}
.xz-page .xz-elem b{color:var(--red-d);margin-right:4px;font-weight:700;}
.xz-page .xz-oppo{margin:9px 0 0;font-size:12.5px;color:#6f5a2e;padding:7px 13px;border:1px dashed rgba(120,160,90,.55);border-radius:9px;background:rgba(120,160,90,.08);line-height:1.6;}
.xz-page .xz-oppo b{color:var(--gold);}
.xz-page .xz-oppo span{display:block;font-size:11.5px;color:#7a8a5c;margin-top:3px;line-height:1.6;}
.xz-page .xz-d-deep{font-size:12px;color:#9a7a3a;line-height:1.75;padding-left:2px;font-style:italic;}

/* 暗色适配（四版） */
body.dark .xz-page .xz-elem{background:rgba(227,196,90,.09);border-color:#6a5526;color:#cdb681;}
body.dark .xz-page .xz-elem b{color:#e8c86a;}
body.dark .xz-page .xz-oppo{background:rgba(140,180,110,.14);border-color:rgba(140,180,110,.5);color:#b6cf8e;}
body.dark .xz-page .xz-oppo b{color:#d8be86;}
body.dark .xz-page .xz-oppo span{color:#9fb27e;}
body.dark .xz-page .xz-d-deep{color:#bfa06a;}

/* 性格三维 + 成长 + 爱情详解（五版） */
.xz-page .xz-trait{display:flex;flex-direction:column;gap:7px;margin:12px 0 4px;}
.xz-page .xz-tr{display:flex;gap:9px;align-items:baseline;font-size:14px;line-height:1.65;}
.xz-page .xz-tr b{flex:0 0 44px;color:var(--gold);font-weight:700;}
.xz-page .xz-tr span{flex:1;color:var(--ink2);text-align:justify;}
.xz-page .xz-grow{margin:6px 0 10px;padding:9px 13px;background:linear-gradient(180deg,#fbf3e0,#f6ead0);border-left:3px solid var(--gold);border-radius:6px;font-size:13.5px;color:#6b5a3c;line-height:1.7;text-align:justify;}
.xz-page .xz-love{display:flex;flex-direction:column;gap:9px;margin-top:10px;}
.xz-page .xz-love-item{display:flex;gap:11px;align-items:baseline;padding:11px 14px;background:linear-gradient(180deg,#fff8ec,#fdf0d8);border:1px solid rgba(212,168,75,.35);border-radius:11px;font-size:14px;line-height:1.7;}
.xz-page .xz-love-item b{flex:0 0 70px;color:#9c6b1f;font-weight:700;}
.xz-page .xz-love-item span{flex:1;color:var(--ink2);text-align:justify;}
/* 暗色适配（五版） */
body.dark .xz-page .xz-tr span{color:#d8c8a8;}
body.dark .xz-page .xz-grow{background:linear-gradient(180deg,#2c2417,#241d11);border-left-color:#caa64b;color:#cbb98f;}
body.dark .xz-page .xz-love-item{background:linear-gradient(180deg,#2c2417,#241d11);border-color:#6a5526;}
body.dark .xz-page .xz-love-item b{color:#e3c277;}
body.dark .xz-page .xz-love-item span{color:#d8c8a8;}

/* ===== 塔罗占卜 · 高端化（限定 .tl-page，不影响其他页） ===== */
.tl-page{max-width:1040px;margin:0 auto;font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC","Heiti SC",sans-serif;padding:30px 28px 36px;border:2px solid var(--gold);border-radius:22px;background-color:#fbf4e2;background-image:repeating-linear-gradient(45deg,rgba(201,162,39,.045) 0 2px,transparent 2px 10px);box-shadow:0 24px 70px rgba(60,40,10,.18),inset 0 0 0 6px rgba(255,255,255,.45),inset 0 0 0 7px rgba(201,162,39,.28);}
.tl-page .page-title{position:relative;font-size:38px;letter-spacing:10px;padding:6px 0 16px;font-weight:800;background:linear-gradient(180deg,#f0d27a,#c9952a);-webkit-background-clip:text;background-clip:text;color:transparent;}
.tl-page .page-title::before{content:"◆";position:absolute;left:50%;bottom:-11px;transform:translateX(-50%);color:var(--gold);font-size:13px;text-shadow:0 0 8px rgba(201,162,39,.6);}
.tl-page .page-title::after{content:"";position:absolute;left:50%;bottom:5px;transform:translateX(-50%);width:210px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);}
.tl-page .page-sub{font-size:14px;letter-spacing:6px;color:#9a875f;margin-bottom:22px;text-align:center;}

.tl-themes{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:4px 0 20px;}
.tl-themes-label{font-size:13px;color:#9a875f;letter-spacing:3px;}
.tl-theme-list{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;}
.tl-theme{font-family:inherit;font-size:14px;letter-spacing:2px;padding:8px 20px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,var(--paper2));color:var(--ink);cursor:pointer;transition:.25s;box-shadow:0 3px 10px rgba(0,0,0,.05);}
.tl-theme:hover{border-color:var(--gold);transform:translateY(-2px);}
.tl-theme.active{background:linear-gradient(135deg,var(--red),var(--red-d));color:#fff;border-color:rgba(255,235,200,.5);box-shadow:0 8px 20px rgba(120,20,20,.3);}

.tl-guide{max-width:700px;margin:0 auto 18px;text-align:center;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:15px;color:var(--red-d);line-height:1.9;padding:12px 18px;background:linear-gradient(180deg,#fffdf7,var(--paper2));border:1px solid rgba(201,162,39,.4);border-radius:12px;box-shadow:0 4px 14px rgba(178,58,46,.08);}

.tl-page .tcard{margin-top:22px;padding:26px 24px;border:1px solid var(--gold);border-radius:18px;background:linear-gradient(180deg,#fffdf7,var(--paper2));box-shadow:0 18px 50px rgba(60,40,10,.16),inset 0 2px 0 rgba(255,255,255,.6);position:relative;}
.tl-page .tcard::before{content:"";position:absolute;inset:8px;border:1px dashed rgba(201,162,39,.45);border-radius:12px;pointer-events:none;}

.tl-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.tl-card{position:relative;min-height:140px;border-radius:16px;background:linear-gradient(180deg,#fff,var(--paper2));border:1px solid var(--line);box-shadow:0 8px 22px rgba(0,0,0,.08);overflow:hidden;}
.tl-back{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:radial-gradient(circle at 50% 35%,#2a2350,#1a1538 72%);border:1px solid rgba(201,162,39,.5);}
.tl-back-mark{font-size:42px;color:var(--gold);text-shadow:0 0 16px rgba(201,162,39,.7);line-height:1;}
.tl-back-sub{font-size:12px;letter-spacing:4px;color:#cdb681;}
.tl-back-no{position:absolute;top:10px;right:12px;font-size:13px;color:rgba(201,162,39,.7);font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-weight:700;}
.tl-front{position:relative;opacity:0;transform:scale(.94);transition:opacity .6s ease,transform .6s ease;padding:16px 14px 18px;}
.tl-card.reveal .tl-back{opacity:0;pointer-events:none;transition:opacity .5s;}
.tl-card.reveal .tl-front{opacity:1;transform:scale(1);}

.tl-card-head{display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(201,162,39,.35);padding-bottom:8px;}
.tl-rom{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:linear-gradient(180deg,var(--red),var(--red-d));color:#f4d98a;display:flex;align-items:center;justify-content:center;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:15px;font-weight:700;box-shadow:0 2px 6px rgba(120,20,20,.35);}
.tl-name{flex:1;min-width:0;line-height:1.1;}
.tl-name b{display:block;font-size:19px;font-family:"Kaiti SC",STKaiti,KaiTi,serif;color:var(--red-d);letter-spacing:2px;}
.tl-name i{display:block;font-style:normal;font-size:11px;color:#9a875f;letter-spacing:1px;margin-top:2px;}
.tl-pos{flex:0 0 auto;font-size:12px;color:#8a7a5c;letter-spacing:2px;padding:3px 10px;border:1px solid var(--line);border-radius:20px;background:rgba(201,162,39,.08);}

.tl-glyph{width:78px;height:78px;margin:12px auto 6px;color:var(--gold);}
.tl-glyph svg{width:100%;height:100%;display:block;}
.tl-meta{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.tl-meta span{font-size:11px;padding:2px 10px;border-radius:6px;background:rgba(60,40,10,.05);color:#7a6843;border:1px solid rgba(201,162,39,.3);}
.tl-keys{display:flex;justify-content:center;flex-wrap:wrap;gap:5px;margin-bottom:8px;}
.tl-keys span{font-size:11.5px;padding:2px 10px;border-radius:20px;background:rgba(178,58,46,.08);color:var(--red-d);border:1px solid rgba(178,58,46,.25);}
.tl-img{font-size:12.5px;line-height:1.8;color:#6b5a3c;text-align:justify;margin:6px 0 10px;font-family:"Kaiti SC",STKaiti,KaiTi,serif;padding:0 2px;}
.tl-state{margin:8px 0;padding:10px 12px;border-radius:10px;border-left:3px solid var(--gold);background:rgba(201,162,39,.08);}
.tl-state.tl-rev{border-left-color:rgba(178,58,46,.6);background:rgba(178,58,46,.07);}
.tl-state-tag{display:inline-block;font-size:12px;font-weight:700;color:#fff;background:var(--gold);padding:2px 10px;border-radius:20px;margin-right:6px;letter-spacing:2px;}
.tl-state.tl-rev .tl-state-tag{background:var(--red);}
.tl-state-txt{font-size:13px;line-height:1.8;color:var(--ink2);}
.tl-posread{margin:10px 0;padding:10px 12px;border:1px solid rgba(201,162,39,.35);border-radius:10px;background:linear-gradient(180deg,#fffdf7,var(--paper2));}
.tl-posread-h{font-size:13px;font-weight:700;color:var(--gold);letter-spacing:2px;margin-bottom:5px;}
.tl-posread p{font-size:13px;line-height:1.85;color:var(--ink2);text-align:justify;margin:0;}
.tl-guide{margin-top:10px;font-size:13px;color:var(--red-d);line-height:1.8;padding:9px 12px;border:1px dashed rgba(201,162,39,.5);border-radius:9px;background:linear-gradient(180deg,#fffdf7,var(--paper2));text-align:justify;}

.tl-summary{margin-top:24px;padding:22px 22px;border:1px solid var(--gold);border-radius:16px;background:linear-gradient(180deg,#fffdf7,var(--paper2));box-shadow:0 12px 34px rgba(60,40,10,.12);position:relative;}
.tl-summary::before{content:"";position:absolute;inset:7px;border:1px dashed rgba(201,162,39,.4);border-radius:11px;pointer-events:none;}
.tl-summary-h{font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:21px;font-weight:700;color:transparent;background:linear-gradient(180deg,#e8c86a,#bd8a2a);-webkit-background-clip:text;background-clip:text;letter-spacing:4px;text-align:center;margin-bottom:14px;}
.tl-summary-flow{font-size:14px;line-height:1.95;color:var(--ink2);text-align:center;margin:0 0 16px;}
.tl-summary-flow b{color:var(--red-d);font-family:"Kaiti SC",STKaiti,KaiTi,serif;}
.tl-stages{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;}
.tl-stage{padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 3px 10px rgba(0,0,0,.04);}
.tl-stage-pos{display:block;font-size:13px;font-weight:700;color:var(--gold);letter-spacing:2px;margin-bottom:4px;}
.tl-stage p{font-size:13px;line-height:1.85;color:var(--ink2);text-align:justify;margin:0;}
.tl-adv{margin-top:6px;padding:14px 16px;background:linear-gradient(180deg,#fbf3e0,#f6ead0);border-left:3px solid var(--gold);border-radius:8px;}
.tl-adv-h{font-size:14px;font-weight:700;color:var(--red-d);letter-spacing:2px;margin-bottom:6px;}
.tl-adv p{font-size:13.5px;line-height:1.9;color:var(--ink2);text-align:justify;margin:0;}

@media (max-width:640px){
  .tl-page{padding:22px 16px 28px;}
  .tl-cards{grid-template-columns:1fr;}
  .tl-themes{gap:8px;}
  .tl-theme{padding:7px 14px;font-size:13px;}
  .tl-page .page-title{font-size:30px;letter-spacing:6px;}
}

/* 暗色适配 */
body.dark .tl-page{background-color:#221b12;background-image:repeating-linear-gradient(45deg,rgba(227,196,90,.05) 0 2px,transparent 2px 10px);border-color:#6a5526;box-shadow:0 24px 70px rgba(0,0,0,.5),inset 0 0 0 6px rgba(0,0,0,.3),inset 0 0 0 7px rgba(227,196,90,.25);}
body.dark .tl-page .page-sub{color:#b59a6a;}
body.dark .tl-theme{background:linear-gradient(180deg,#2c2417,#241d11);border-color:#5a4a2a;color:#e7d9bd;}
body.dark .tl-theme.active{background:linear-gradient(135deg,var(--red),var(--red-d));color:#fff;}
body.dark .tl-guide{background:linear-gradient(180deg,#2c2417,#221b12);border-color:#6a5526;color:#e8c86a;}
body.dark .tl-page .tcard{background:linear-gradient(180deg,#2c2417,#221b12);border-color:#6a5526;}
body.dark .tl-page .tcard::before{border-color:rgba(227,196,90,.38);}
body.dark .tl-card{background:linear-gradient(180deg,#2c2417,#241d11);border-color:#5a4a2a;}
body.dark .tl-name b{color:#e8c86a;}
body.dark .tl-name i,body.dark .tl-pos{color:#b59a6a;border-color:#5a4a2a;background:rgba(227,196,90,.1);}
body.dark .tl-meta span{background:rgba(227,196,90,.1);color:#cdb681;border-color:#5a4a2a;}
body.dark .tl-keys span{background:rgba(214,85,74,.16);color:#e89a92;border-color:rgba(214,85,74,.4);}
body.dark .tl-img{color:#cbb98f;}
body.dark .tl-state{background:rgba(227,196,90,.1);border-left-color:#caa64b;}
body.dark .tl-state.tl-rev{background:rgba(214,85,74,.12);border-left-color:#a85a5a;}
body.dark .tl-state-txt{color:#d8c8a8;}
body.dark .tl-posread{background:linear-gradient(180deg,#2c2417,#241d11);border-color:#6a5526;}
body.dark .tl-posread p{color:#d8c8a8;}
body.dark .tl-guide{background:linear-gradient(180deg,#2c2417,#241d11);border-color:#6a5526;color:#e8c86a;}
body.dark .tl-summary{background:linear-gradient(180deg,#2c2417,#221b12);border-color:#6a5526;}
body.dark .tl-summary::before{border-color:rgba(227,196,90,.35);}
body.dark .tl-summary-flow{color:#d8c8a8;}
body.dark .tl-stage{background:#241d11;border-color:#5a4a2a;}
body.dark .tl-stage p{color:#d8c8a8;}
body.dark .tl-adv{background:linear-gradient(180deg,#2c2417,#241d11);border-left-color:#caa64b;}

/* ===== 首页 Hero 暗色与响应式 ===== */
body.dark .hero{background:linear-gradient(160deg,#221b12,#2c2417),repeating-linear-gradient(45deg,rgba(227,196,90,.05) 0 7px,transparent 7px 15px);border-color:#6a5526;box-shadow:0 30px 70px rgba(0,0,0,.6),inset 0 0 60px rgba(227,196,90,.12);}
body.dark .hero::before{border-color:rgba(227,196,90,.4);}
body.dark .hero .sub{color:#c9b78a;}
body.dark .motto{color:#e8c86a;}
body.dark .hero .tags span{color:#e8c86a;background:linear-gradient(180deg,rgba(44,36,23,.9),rgba(227,196,90,.12));border-color:#6a5526;}
body.dark .hero .cta{background:linear-gradient(180deg,#1a1410,#0e0a08);color:#f5d466;border-color:rgba(212,168,75,.55);
  box-shadow:0 8px 24px rgba(0,0,0,.5),0 0 0 1.5px rgba(212,168,75,.35),inset 0 1px 0 rgba(255,255,255,.06),0 0 20px rgba(180,130,20,.18);}
body.dark .hero-plaque{background:linear-gradient(175deg,rgba(18,14,10,.85),rgba(14,10,7,.90),rgba(10,8,6,.88));
  border-color:rgba(212,168,75,.25);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),inset 0 -1px 0 rgba(0,0,0,.4),0 20px 60px rgba(0,0,0,.4);}
body.dark .sect-head h2{background:linear-gradient(180deg,#f0d27a,#caa64b);-webkit-background-clip:text;background-clip:text;color:transparent;}
body.dark .module-card{background:linear-gradient(165deg,rgba(38,30,18,.96) 0%,rgba(28,22,14,.94) 40%,rgba(22,17,10,.92) 100%);
  border-color:rgba(201,162,39,.25);
  box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 6px 20px rgba(0,0,0,.3),0 12px 36px rgba(0,0,0,.2);}
body.dark .module-card::before{border-color:rgba(201,162,39,.1);}
body.dark .module-card .ico{background:linear-gradient(145deg,#2a2214,#3a2c16);border-color:rgba(201,162,39,.25);}
body.dark .module-card h3{color:#d4a832;text-shadow:none;}
body.dark .module-card p{color:#b8a07a;}
body.dark .module-card:hover{box-shadow:
    0 1px 0 rgba(255,255,255,.04) inset,
    0 18px 44px rgba(0,0,0,.35),
    0 30px 70px rgba(0,0,0,.25),
    0 0 0 1.5px rgba(201,162,39,.35),
    0 0 36px rgba(201,162,39,.08);}
body.dark .about{background:linear-gradient(180deg,#2c2417,#241d11);border-color:#6a5526;box-shadow:0 16px 40px rgba(0,0,0,.4),inset 0 0 0 4px rgba(227,196,90,.10);}
body.dark .about .disc{border-color:#6a5526;}
@media(max-width:560px){
  .hero{padding:40px 16px 36px;margin:18px auto 12px;}
  .guanyin-side{width:150px;left:20px;top:110px;opacity:.42;}
  .guanyin-side.right{left:auto;right:20px;}
  .guanyin-side .clouds span:nth-child(1){width:84px;height:36px;}
  .guanyin-side .clouds span:nth-child(2){width:100px;height:42px;}
  .guanyin-side .clouds span:nth-child(3){width:78px;height:32px;}
  .guanyin-side .clouds span:nth-child(4){width:94px;height:38px;}
  .guanyin-side .clouds span:nth-child(5){width:72px;height:30px;}
  .guanyin-side .clouds span:nth-child(6){width:82px;height:34px;}
  .hero-plaque{margin:12px 10px 24px;padding:24px 16px 20px;}
  .hero h1{font-size:clamp(34px,11vw,44px);letter-spacing:8px;}
  .hero-deco i{width:50px;}
  .motto{font-size:15px;letter-spacing:5px;}
  .hero .tags span{font-size:12px;padding:4px 11px;}
}
body.dark .tl-adv p{color:#d8c8a8;}

/* ===== 首页 · 二十四节气专属横幅（仅交节日显示，限定 .jq-banner） ===== */
.jq-banner{position:relative;overflow:hidden;margin:0 auto 32px;max-width:1080px;
  border:2px solid var(--jq-ac);border-radius:20px;padding:32px 26px 26px;text-align:center;
  background:linear-gradient(135deg,var(--jq-bg1),var(--jq-bg2));
  box-shadow:0 20px 54px rgba(60,40,10,.18),inset 0 0 0 6px rgba(201,162,39,.12),
    0 0 40px var(--jq-glow);
  animation:fade .8s ease;}
.jq-banner::before{content:"";position:absolute;inset:7px;border:1.5px solid rgba(201,162,39,.45);border-radius:14px;pointer-events:none;}
/* 四季专属浓烈配色 */
.jq-spring{--jq-bg1:#e4f5e8;--jq-bg2:#c8ebd3;--jq-ac:#2d8a4e;--jq-ac2:#5ec98a;--jq-glow:rgba(46,138,78,.15);--jq-particle:#e88;}
.jq-summer{--jq-bg1:#fff0e6;--jq-bg2:#fddcc4;--jq-ac:#d43a22;--jq-ac2:#f07a50;--jq-glow:rgba(212,58,34,.15);--jq-particle:#fa3;}
.jq-autumn{--jq-bg1:#fff5dc;--jq-bg2:#f9dfaa;--jq-ac:#c87a00;--jq-ac2:#f0a820;--jq-glow:rgba(200,122,0,.18);--jq-particle:#da3;}
.jq-winter{--jq-bg1:#eaf2fb;--jq-bg2:#d0e4f5;--jq-ac:#2868b8;--jq-ac2:#68a8e8;--jq-glow:rgba(40,104,184,.16);--jq-particle:#adf;}
/* 季节装饰大图（左右两侧） */
.jq-deco-left,.jq-deco-right{position:absolute;top:-4px;width:140px;height:180px;z-index:1;opacity:.14;color:var(--jq-ac);pointer-events:none;}
.jq-deco-left{left:-20px;transform:scaleX(-1);}
.jq-deco-right{right:-20px;}
.jq-deco-left svg,.jq-deco-right svg{width:100%;height:100%;}
/* 飘落粒子 */
.jq-particle{position:absolute;font-size:16px;pointer-events:none;z-index:2;
  color:var(--jq-particle);text-shadow:0 0 6px currentColor;animation:jFall linear infinite;}
@keyframes jFall{
  0%{transform:translateY(-10%) rotate(0deg);opacity:0;}
  12%{opacity:.55;}
  80%{opacity:.35;}
  100%{transform:translateY(110vh) rotate(360deg);opacity:0;}}
.jq-aura{position:absolute;top:-70px;left:50%;width:520px;height:520px;transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(circle,var(--jq-ac2) 0%,transparent 62%);opacity:.25;animation:breathe 8s ease-in-out infinite;pointer-events:none;}
.jq-motif{position:absolute;top:14px;right:16px;width:120px;height:120px;color:var(--jq-ac);opacity:.26;pointer-events:none;}
.jq-ribbon{display:inline-block;font-family:"Kaiti SC",STKaiti,KaiTi,serif;letter-spacing:6px;font-size:14px;color:#fff;
  background:linear-gradient(180deg,var(--jq-ac),var(--jq-ac2));padding:5px 20px;border-radius:20px;box-shadow:0 4px 12px rgba(0,0,0,.15);}
.jq-order{margin-top:13px;font-size:13px;letter-spacing:5px;color:var(--jq-ac);opacity:.88;}
.jq-name{font-family:"Kaiti SC","STKaiti","KaiTi",serif;font-weight:900;font-size:92px;letter-spacing:24px;margin:6px 0 2px;
  color:#f5d466;
  text-shadow:
    0 1px 0 #fff8d4,
    0 2px 0 #ffe066,
    0 3px 0 #e8c44a,
    0 4px 1px rgba(140,90,0,.22),
    0 6px 5px rgba(100,55,0,.25),
    0 10px 14px rgba(80,40,0,.28),
    0 0 32px rgba(212,168,75,.50),
    0 0 64px rgba(212,168,75,.20);
  animation:titlePulse 3.5s ease-in-out infinite;}
.jq-py{font-size:14px;letter-spacing:3px;color:#8a7a5c;margin-bottom:10px;}
.jq-meaning{font-size:16px;line-height:1.95;color:var(--ink2);max-width:680px;margin:0 auto 18px;}
.jq-block-title{display:flex;align-items:center;justify-content:center;gap:14px;margin:18px 0 13px;
  color:var(--jq-ac);font-family:"Kaiti SC",STKaiti,KaiTi,serif;letter-spacing:5px;font-size:16px;}
.jq-block-title::before,.jq-block-title::after{content:"";height:1px;width:72px;background:linear-gradient(90deg,transparent,var(--jq-ac));}
.jq-block-title::after{background:linear-gradient(90deg,var(--jq-ac),transparent);}
.jq-hou{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:760px;margin:0 auto;}
.jq-hou-item{background:rgba(255,255,255,.5);border:1px solid rgba(201,162,39,.35);border-radius:12px;padding:13px 10px;}
.jq-hou-item b{display:block;color:var(--jq-ac);font-size:15px;letter-spacing:2px;margin-bottom:7px;font-family:"Kaiti SC",STKaiti,KaiTi,serif;}
.jq-hou-item span{font-size:13px;line-height:1.7;color:var(--ink2);}
.jq-custom{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:760px;margin:0 auto;text-align:left;}
.jq-custom-col{background:rgba(255,255,255,.45);border:1px solid rgba(201,162,39,.3);border-radius:12px;padding:15px 17px;}
.jq-sub{font-family:"Kaiti SC",STKaiti,KaiTi,serif;color:var(--jq-ac);letter-spacing:3px;font-size:15px;margin-bottom:11px;
  border-bottom:1px dashed rgba(201,162,39,.4);padding-bottom:7px;}
.jq-chips{display:flex;flex-wrap:wrap;gap:8px;}
.jq-chip{font-size:13px;color:var(--ink);background:rgba(201,162,39,.14);border:1px solid rgba(201,162,39,.4);border-radius:16px;padding:4px 13px;}
.jq-health{font-size:14px;line-height:1.95;color:var(--ink2);margin:0;text-align:justify;}
.jq-foot{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding-top:15px;
  border-top:1px solid rgba(201,162,39,.3);flex-wrap:wrap;gap:12px;}
.jq-count{font-size:14px;letter-spacing:2px;color:var(--jq-ac);}
.jq-link{font-size:14px;letter-spacing:2px;color:#fff;text-decoration:none;
  background:linear-gradient(180deg,var(--jq-ac),var(--jq-ac2));padding:9px 18px;border-radius:22px;box-shadow:0 4px 12px rgba(0,0,0,.15);}
.jq-link:hover{filter:brightness(1.06);}

@media (max-width:680px){
  .jq-banner{padding:24px 16px 20px;}
  .jq-name{font-size:46px;letter-spacing:9px;}
  .jq-motif{width:74px;height:74px;}
  .jq-hou{grid-template-columns:1fr;}
  .jq-custom{grid-template-columns:1fr;}
  .jq-foot{justify-content:center;}
}

/* 暗色适配 */
body.dark .jq-banner{box-shadow:0 20px 54px rgba(0,0,0,.5),inset 0 0 0 6px rgba(227,196,90,.12),
  0 0 40px var(--jq-glow);}
body.dark .jq-spring{--jq-bg1:#122418;--jq-bg2:#183022;--jq-ac:#3eb86a;--jq-ac2:#70e898;--jq-glow:rgba(62,184,106,.12);}
body.dark .jq-summer{--jq-bg1:#2a1410;--jq-bg2:#361c14;--jq-ac:#e84a32;--jq-ac2:#f08a60;--jq-glow:rgba(232,74,50,.12);}
body.dark .jq-autumn{--jq-bg1:#2a2010;--jq-bg2:#34280e;--jq-ac:#d89210;--jq-ac2:#f0b828;--jq-glow:rgba(216,146,16,.15);}
body.dark .jq-winter{--jq-bg1:#10182a;--jq-bg2:#162238;--jq-ac:#4890d8;--jq-ac2:#88c0f8;--jq-glow:rgba(72,144,216,.13);}
body.dark .jq-hou-item,body.dark .jq-custom-col{background:rgba(255,255,255,.05);}
body.dark .jq-py,body.dark .jq-meaning,body.dark .jq-health,body.dark .jq-hou-item span{color:var(--ink2);}

/* ===== 解梦页 · 皇家夜典升级（限定 .jm-page，夜梦鎏金+贵族气质） ===== */
.jm-page{position:relative;max-width:1060px;margin:24px auto 48px;padding:46px 30px 52px;
  border-radius:26px;
  background-color:#241733;
  background-image:
    radial-gradient(120% 90% at 50% -10%, rgba(126,76,160,.35), transparent 60%),
    radial-gradient(120% 100% at 50% 110%, rgba(118,26,52,.40), transparent 62%),
    linear-gradient(160deg,#2a1c3e 0%,#241733 45%,#2c1630 100%);
  box-shadow:0 40px 110px rgba(20,8,40,.55), inset 0 0 0 2px rgba(214,170,80,.55),
    inset 0 0 0 9px rgba(20,10,34,.55), inset 0 0 0 11px rgba(214,170,80,.30);
  overflow:visible;}
/* 鎏金内描边 */
.jm-page::before{content:"";position:absolute;inset:18px;border:1px solid rgba(214,170,80,.40);border-radius:18px;pointer-events:none;}
/* 四角金饰 */
.jm-corner{position:absolute;width:34px;height:34px;border:2px solid rgba(222,178,90,.85);pointer-events:none;z-index:2;}
.jm-corner.tl{top:10px;left:10px;border-right:none;border-bottom:none;border-top-left-radius:12px;}
.jm-corner.tr{top:10px;right:10px;border-left:none;border-bottom:none;border-top-right-radius:12px;}
.jm-corner.bl{bottom:10px;left:10px;border-right:none;border-top:none;border-bottom-left-radius:12px;}
.jm-corner.br{bottom:10px;right:10px;border-left:none;border-top:none;border-bottom-right-radius:12px;}
.jm-corner::after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:radial-gradient(circle,#f3d27a,#b5851a);box-shadow:0 0 8px rgba(214,170,80,.7);}
.jm-corner.tl::after{top:3px;left:3px;}.jm-corner.tr::after{top:3px;right:3px;}.jm-corner.bl::after{bottom:3px;left:3px;}.jm-corner.br::after{bottom:3px;right:3px;}

/* 顶部夜梦意境 hero */
.jm-hero{position:relative;display:flex;align-items:center;justify-content:center;gap:26px;
  padding:18px 8px 26px;margin-bottom:24px;border-bottom:1px solid rgba(214,170,80,.35);}
.jm-moon{flex:0 0 auto;width:126px;height:126px;filter:drop-shadow(0 0 20px rgba(214,170,80,.55));}
.jm-moon svg{width:100%;height:100%;display:block;}
.jm-hero-mid{position:relative;text-align:center;}
/* 英文衬线副题 · 贵族气质 */
.jm-en{font-family:"Times New Roman",Georgia,"Songti SC",serif;font-style:italic;font-size:14px;letter-spacing:3px;
  color:rgba(233,200,150,.78);text-transform:uppercase;margin-bottom:10px;text-shadow:0 1px 4px rgba(0,0,0,.4);}
.jm-kicker{display:inline-block;font-size:12px;letter-spacing:6px;color:#e7c98e;
  border:1px solid rgba(214,170,80,.5);border-radius:20px;padding:4px 16px;margin-bottom:12px;
  background:rgba(214,170,80,.10);box-shadow:inset 0 0 12px rgba(214,170,80,.12);}
.jm-art{flex:0 0 auto;width:150px;height:150px;border-radius:18px;overflow:hidden;
  border:2px solid rgba(214,170,80,.6);
  box-shadow:0 10px 30px rgba(0,0,0,.4),0 0 30px rgba(214,170,80,.30);}
.jm-art img{width:100%;height:100%;object-fit:cover;display:block;}

/* 御制印记 · 双圈描金 */
.jm-crest{display:inline-block;margin-top:14px;padding:5px 16px;border-radius:4px;
  font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:13px;letter-spacing:4px;color:#f0d79a;
  border:1px double rgba(214,170,80,.65);background:linear-gradient(180deg,rgba(118,26,52,.55),rgba(74,18,38,.6));
  box-shadow:0 2px 10px rgba(0,0,0,.4),inset 0 0 10px rgba(214,170,80,.12);}

/* 标题鎏金渐变描边 */
.jm-page .page-title{position:relative;font-size:44px;letter-spacing:12px;padding:6px 0 14px;
  background:linear-gradient(180deg,#fbe7a8,#e3c45a 45%,#caa12f);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.45));}
.jm-page .page-title::before{content:"✦";position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);
  color:#e3c45a;font-size:14px;text-shadow:0 0 10px rgba(214,170,80,.7);}
.jm-page .page-title::after{content:"";position:absolute;left:50%;bottom:4px;transform:translateX(-50%);
  width:260px;height:1px;background:linear-gradient(90deg,transparent,#e3c45a,transparent);}
.jm-page .page-sub{font-size:14px;letter-spacing:6px;color:#d9c79b;margin-top:14px;text-shadow:0 1px 3px rgba(0,0,0,.4);}

/* 装饰分隔线 · 鎏金回纹 */
.jm-rule{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto 26px;max-width:520px;}
.jm-rule span{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(214,170,80,.6),transparent);}
.jm-rule i{font-style:normal;color:#e3c45a;font-size:14px;text-shadow:0 0 8px rgba(214,170,80,.6);}

/* 解梦输入面板（金框锦囊·浅色诏书，保证输入可读） */
.jm-panel{position:relative;max-width:700px;margin:4px auto 0;padding:26px 26px 22px;
  background:linear-gradient(180deg,#fdf8ec,#f3e6c6);
  border:1px solid rgba(214,170,80,.7);border-radius:18px;
  box-shadow:0 18px 52px rgba(0,0,0,.30),inset 0 2px 0 rgba(255,255,255,.7),inset 0 0 0 4px rgba(214,170,80,.16);}
.jm-panel::before{content:"";position:absolute;inset:8px;border:1px dashed rgba(201,162,39,.42);border-radius:12px;pointer-events:none;}
.jm-page .field label{font-size:15px;color:#4a3c2c;letter-spacing:1px;}
.jm-page .field input{font-size:16px;padding:13px 16px;border:1px solid rgba(214,170,80,.8);
  background:linear-gradient(180deg,#fffdf8,#fbf3df);color:#3a2c1c;}
.jm-page .field input::placeholder{color:#a8916a;}
.jm-page .field input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(201,162,39,.30);}

/* 解梦按钮 · 鎏金御印 */
.btn-jm{display:inline-block;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-weight:700;font-size:20px;letter-spacing:10px;
  padding:15px 54px;border-radius:34px;border:2px solid rgba(243,210,120,.8);
  color:#fbe7a8;background:linear-gradient(180deg,#3a2150,#26133a 55%,#170a26);
  box-shadow:0 10px 28px rgba(0,0,0,.45),0 0 0 1.5px rgba(243,210,120,.45),inset 0 1px 0 rgba(255,255,255,.12),0 0 30px rgba(214,170,80,.35);
  cursor:pointer;position:relative;overflow:hidden;transition:.3s;
  text-shadow:0 1px 0 rgba(0,0,0,.5),0 0 10px rgba(243,210,120,.5);}
.btn-jm::after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .6s;}
.btn-jm:hover{filter:brightness(1.15);transform:translateY(-3px);
  box-shadow:0 14px 32px rgba(0,0,0,.45),0 0 0 2.5px rgba(245,212,102,.7),inset 0 1px 0 rgba(255,255,255,.12),0 0 40px rgba(212,168,75,.35);}
.btn-jm:hover::after{left:130%;}
.btn-jm:active{transform:translateY(2px);}

/* 结果卡 · 金框诏书（深色展台上的御赐金框） */
.jm-page .result-box{margin-top:24px;}
.jm-page .result-box .tcard{position:relative;margin-top:22px;padding:30px 28px 26px;border:1px solid rgba(214,170,80,.8);border-radius:18px;
  background:linear-gradient(180deg,#fffdf7,#f6ecd2);
  box-shadow:0 22px 60px rgba(0,0,0,.40),inset 0 2px 0 rgba(255,255,255,.7),inset 0 0 0 4px rgba(214,170,80,.14);}
.jm-page .result-box .tcard::before{content:"";position:absolute;inset:9px;border:1px double rgba(201,162,39,.55);border-radius:12px;pointer-events:none;}
.jm-page .result-box .tcard::after{content:"解";position:absolute;top:18px;right:18px;width:48px;height:48px;border-radius:9px;
  background:linear-gradient(180deg,#8a2038,var(--red-d));color:#f4e3c0;
  display:flex;align-items:center;justify-content:center;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:21px;
  transform:rotate(-7deg);box-shadow:0 4px 12px rgba(138,32,56,.5),inset 0 0 0 2px rgba(243,210,120,.6);}
.jm-page .result-box .tcard h3{position:relative;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:25px;letter-spacing:4px;color:var(--red-d);margin:0 0 14px;padding-bottom:10px;}
.jm-page .result-box .tcard h3::after{content:"";position:absolute;left:0;bottom:0;width:64px;height:2px;background:linear-gradient(90deg,var(--gold),transparent);}
.jm-page .result-box .tcard p{line-height:2;color:var(--ink2);font-size:15px;}

/* 维度小卡 · 金边 */
.jm-page .result-box .tcard .dim{margin:12px 0;padding:12px 14px;border:1px solid var(--line);border-left:3px solid var(--gold);
  border-radius:8px;background:rgba(255,255,255,.04);transition:.2s;}
.jm-page .result-box .tcard .dim:hover{border-left-color:var(--red);background:rgba(178,58,46,.05);}
.jm-page .result-box .tcard .dim .dk{display:block;font-size:15px;color:var(--red);letter-spacing:3px;margin-bottom:7px;font-family:"Kaiti SC",STKaiti,KaiTi,serif;}
.jm-page .result-box .tcard .dim .dv{font-size:14px;line-height:1.95;color:var(--ink2);}
.jm-page .result-box .tcard .dim .dv b{color:var(--red);}

/* 结尾提示 / about · 深色天鹅绒下转半透金描边卡 */
.jm-note{color:#cdb98a;font-size:13px;margin-top:12px;}
.jm-page .about{position:relative;margin-top:26px;background:linear-gradient(180deg,rgba(40,24,58,.55),rgba(28,16,42,.55));
  border:1px solid rgba(214,170,80,.5);border-radius:16px;padding:24px 28px;line-height:2;color:#dcc9a0;
  box-shadow:0 14px 40px rgba(0,0,0,.30),inset 0 0 0 4px rgba(214,170,80,.10);overflow:hidden;}
.jm-page .about .disc{margin-top:16px;padding:14px;border:1px dashed rgba(214,170,80,.45);border-radius:10px;font-size:13px;color:#c3ad82;}

/* 解梦结果 · 多维详细排版 */
.jm-page .result-box .tcard .dim{padding:18px 18px 16px;margin:16px 0;}
.jm-page .result-box .tcard .dim .dk{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.jm-word{font-size:19px;letter-spacing:3px;color:var(--red-d);font-family:"Kaiti SC",STKaiti,KaiTi,serif;}
.jm-badge{font-size:12px;letter-spacing:1px;padding:3px 12px;border-radius:20px;color:#fff;font-weight:600;white-space:nowrap;
  box-shadow:0 2px 8px rgba(0,0,0,.12);}
.jm-g-good{background:linear-gradient(180deg,#d4a925,#b5851a);}
.jm-g-mid{background:linear-gradient(180deg,#e0902e,#c2771f);}
.jm-g-bad{background:linear-gradient(180deg,#6f8bb0,#5a7398);}
.jm-row{display:flex;gap:12px;padding:9px 0;border-bottom:1px dashed rgba(201,162,39,.28);align-items:flex-start;}
.jm-row:last-of-type{border-bottom:none;}
.jm-lab{flex:0 0 64px;text-align:center;font-size:13px;letter-spacing:2px;color:#fff;background:linear-gradient(180deg,var(--red),var(--red-d));
  border-radius:10px;padding:4px 0;font-family:"Kaiti SC",STKaiti,KaiTi,serif;}
.jm-txt{flex:1;font-size:14.5px;line-height:1.95;color:var(--ink2);}
.jm-quote{margin:12px 0 10px;padding:10px 14px 10px 16px;border-left:3px solid var(--gold);
  background:rgba(201,162,39,.08);border-radius:0 10px 10px 0;font-style:italic;font-size:13.5px;line-height:1.8;color:#7c6a44;}
/* 白话通解——古籍通俗化翻译+现代场景展开 */
.jm-bth{margin:10px 0 14px;padding:14px 18px 15px;background:linear-gradient(135deg,rgba(70,120,180,.07),rgba(100,140,200,.04));
  border:1px solid rgba(80,120,180,.25);border-radius:12px;font-size:14px;line-height:2;color:#3a4a5e;
  position:relative;overflow:hidden;}
.jm-bth::before{content:'💡';position:absolute;top:10px;right:12px;font-size:20px;opacity:.35;}
body.dark .jm-bth{background:linear-gradient(135deg,rgba(80,120,180,.12),rgba(100,140,200,.07));border-color:rgba(100,140,200,.3);color:#b8c8dc;}
.jm-tags{margin:6px 0 12px;}
.jm-tag{display:inline-block;font-size:12px;letter-spacing:1px;color:#8a6d1f;background:rgba(201,162,39,.14);
  border:1px solid rgba(201,162,39,.45);border-radius:16px;padding:3px 14px;}
.jm-areas{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:6px 0 16px;}
.jm-area{background:linear-gradient(145deg,rgba(252,250,240,.95),rgba(248,242,225,.9));
  border:1.5px solid rgba(180,150,60,.42);border-radius:13px;padding:13px 14px;transition:.25s;
  box-shadow:0 4px 14px rgba(160,130,40,.08),inset 0 1px 0 rgba(255,255,255,.7);}
.jm-area:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(160,130,40,.15),inset 0 1px 0 rgba(255,255,255,.7);
  border-color:rgba(200,165,60,.65);}
.jm-area-t{font-size:13px;letter-spacing:3px;color:var(--red-d);font-family:"Kaiti SC",STKaiti,KaiTi,serif;margin-bottom:6px;
  border-bottom:1px dashed rgba(201,162,39,.4);padding-bottom:5px;}
.jm-area-c{font-size:13px;line-height:1.8;color:var(--ink2);}
.jm-yiji{display:flex;gap:12px;margin:6px 0 16px;}
.jm-yi,.jm-ji{flex:1;border-radius:14px;padding:14px 16px;font-size:13.5px;line-height:1.85;display:flex;gap:10px;align-items:flex-start;
  position:relative;overflow:hidden;}
/* ── 宜：翠玉底 + 深绿字，清晰可读 ── */
.jm-yi{background:linear-gradient(145deg,rgba(232,248,232,.95),rgba(220,240,220,.9));
  border:1.5px solid rgba(76,140,76,.55);
  box-shadow:0 4px 16px rgba(76,140,76,.12),inset 0 1px 0 rgba(255,255,255,.7);}
.jm-yi::before{content:'';position:absolute;top:-20px;right:-20px;width:80px;height:80px;
  border-radius:50%;background:radial-gradient(circle,rgba(96,176,96,.15),transparent 70%);pointer-events:none;}
/* ── 忌：近白底 + 深红字，最高可读 ── */
.jm-ji{background:linear-gradient(145deg,rgba(255,252,250,.98),rgba(252,245,243,.95));
  border:1.5px solid rgba(200,90,80,.5);
  box-shadow:0 4px 16px rgba(180,70,60,.12),inset 0 1px 0 rgba(255,255,255,.9);}
.jm-ji::before{content:'';position:absolute;top:-20px;right:-20px;width:80px;height:80px;
  border-radius:50%;background:radial-gradient(circle,rgba(200,80,70,.12),transparent 70%);pointer-events:none;}
/* ── 宜/忌 徽标：紧凑亮金字 + 光晕呼吸特效 ── */
.jm-yi b,.jm-ji b{flex:0 0 auto;font-size:15px;font-family:"Kaiti SC",STKaiti,KaiTi,serif;
  padding:2px 9px;border-radius:8px;color:#ffe066;font-weight:900;
  letter-spacing:3px;text-shadow:0 0 8px rgba(255,220,80,.7),0 1px 3px rgba(0,0,0,.35);
  box-shadow:0 2px 8px rgba(0,0,0,.18),0 0 14px rgba(255,200,60,.25),inset 0 1px 0 rgba(255,255,255,.2);
  position:relative;z-index:1;
  animation:jm-badge-glow 2.4s ease-in-out infinite alternate;}
.jm-yi b{background:linear-gradient(180deg,#3d943d,#f6f0ef);
  border:1.5px solid rgba(140,210,140,.55);}
.jm-ji b{background:linear-gradient(180deg,#e23a2a,#f6f0ef);
  border:1.5px solid rgba(255,170,120,.65);
  color:#fff;text-shadow:0 0 10px rgba(255,255,255,.5),0 1px 3px rgba(0,0,0,.45);}
/* ── 宜/忌 正文：高对比度 ── */
.jm-yi span{flex:1;color:#1a4a1a;font-weight:500;}
.jm-ji span{flex:1;color:#6b0e0e;font-weight:500;}
.jm-adv{position:relative;margin:4px 0 2px;padding:12px 14px 12px 92px;border-radius:12px;
  background:linear-gradient(180deg,rgba(201,162,39,.16),rgba(201,162,39,.08));border:1px solid rgba(201,162,39,.45);
  font-size:14px;line-height:1.9;color:var(--ink);}
.jm-adv-lab{position:absolute;left:12px;top:12px;font-size:12px;letter-spacing:2px;color:#fff;
  background:linear-gradient(180deg,#c9952a,#a87a1c);border-radius:8px;padding:4px 8px;font-family:"Kaiti SC",STKaiti,KaiTi,serif;}
.jm-sc{margin-top:14px;padding:12px 16px;border:1.5px dashed rgba(180,150,60,.5);border-radius:13px;
  font-size:13.5px;line-height:1.9;color:#4a3a1e;
  background:linear-gradient(145deg,rgba(252,250,240,.92),rgba(248,243,228,.85));
  box-shadow:0 3px 10px rgba(160,130,40,.06);}
.jm-sc b{color:#a07820;letter-spacing:2px;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-weight:700;}

/* 卦象 / 喜色 标签 */
.jm-tag-gua{background:linear-gradient(135deg,#f3e4bd,#e7cf94);color:#7a5a16;border-color:rgba(201,162,39,.5);font-weight:600;}
.jm-tag-ys{background:rgba(120,160,200,.12);color:#5a6f8c;border-color:rgba(120,160,200,.4);}
/* 吉凶星级 */
.jm-xj{display:flex;align-items:center;gap:6px;margin:10px 0 2px;flex-wrap:wrap;}
.jm-xj-lab{font-size:12px;color:#9a875f;letter-spacing:1px;margin-right:2px;}
.jm-star{font-style:normal;font-size:15px;color:rgba(201,162,39,.22);transition:color .2s;}
.jm-star.on{color:#d4a017;text-shadow:0 0 6px rgba(212,160,23,.5);}
.jm-xj-num{font-size:12px;color:#b08a2e;margin-left:4px;font-weight:600;}
/* 方位时辰 / 六亲 */
.jm-fw,.jm-lq{margin-top:8px;font-size:13.5px;line-height:1.8;color:#6b5a3a;}
.jm-fw b,.jm-lq b{display:inline-block;min-width:88px;color:#a8791f;font-weight:700;letter-spacing:1px;}
.jm-fw span,.jm-lq span{color:#5e4d30;}
/* 诗词雅解 */
.jm-yc{margin-top:12px;padding:10px 16px;border-left:3px solid var(--red);background:linear-gradient(90deg,rgba(178,58,46,.06),transparent);color:#7a3b2e;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:15px;letter-spacing:1px;border-radius:0 10px 10px 0;}
body.dark .jm-yc{color:#e7c9a0;background:linear-gradient(90deg,rgba(227,196,90,.08),transparent);}
body.dark .jm-tag-gua{color:#f0d79a;}
body.dark .jm-tag-ys{color:#a9c2de;}
body.dark .jm-fw,body.dark .jm-lq{color:#cbb78a;}
body.dark .jm-fw b,body.dark .jm-lq b{color:#e3c45a;}

/* 男女有别 / 职业视角 / 群体差异 多维细分 */
.jm-xb,.jm-zy,.jm-qt{margin-top:10px;padding:9px 15px;border-radius:11px;background:linear-gradient(135deg,rgba(201,162,39,.08),rgba(201,162,39,.03));border:1px solid rgba(201,162,39,.30);border-left:4px solid #b8860b;}
.jm-xb b,.jm-zy b,.jm-qt b{display:inline-block;min-width:76px;font-weight:800;color:#9a2f25;letter-spacing:1px;margin-right:8px;vertical-align:top;}
.jm-xb span,.jm-zy span,.jm-qt span{font-size:14px;line-height:1.98;color:#5a4a2a;}
body.dark .jm-xb,body.dark .jm-zy,body.dark .jm-qt{background:rgba(201,162,39,.09);border-color:#6a5526;border-left-color:#cdb681;}
body.dark .jm-xb b,body.dark .jm-zy b,body.dark .jm-qt b{color:#e3b24a;}
body.dark .jm-xb span,body.dark .jm-zy span,body.dark .jm-qt span{color:#cdb681;}

/* 应期 / 开运化解 / 变体旁通 —— 增强可读性 */
.jm-yd,.jm-kf{display:flex;gap:10px;align-items:flex-start;margin:10px 0;padding:12px 15px;border-radius:12px;
  font-size:13.5px;line-height:1.85;
  background:linear-gradient(145deg,rgba(252,248,235,.95),rgba(248,240,215,.9));
  border:1.5px solid rgba(180,150,60,.45);
  box-shadow:0 3px 12px rgba(160,130,40,.08),inset 0 1px 0 rgba(255,255,255,.7);}
.jm-yd b,.jm-kf b{flex:0 0 auto;font-size:12.5px;letter-spacing:2px;color:#fff;
  background:linear-gradient(180deg,#d4a530,#b08820);border-radius:8px;padding:4px 13px;
  font-family:"Kaiti SC",STKaiti,KaiTi,serif;
  box-shadow:0 2px 6px rgba(160,120,20,.2),inset 0 1px 0 rgba(255,255,255,.2);
  border:1px solid rgba(210,175,80,.4);}
.jm-yd span,.jm-kf span{flex:1;color:#5a4620;}
.jm-bj{margin-top:12px;padding:13px 16px;border:1.5px dashed rgba(180,150,60,.5);border-radius:13px;
  font-size:13.5px;line-height:1.9;color:#4a3a1e;
  background:linear-gradient(145deg,rgba(252,250,240,.95),rgba(248,243,228,.9));
  box-shadow:0 3px 10px rgba(160,130,40,.06),inset 0 1px 0 rgba(255,255,255,.6);}
.jm-bj b{color:#a07820;letter-spacing:2px;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-weight:700;}
body.dark .jm-yd,body.dark .jm-kf{background:linear-gradient(145deg,rgba(60,50,25,.5),rgba(45,38,18,.4));
  border-color:rgba(180,150,60,.35);box-shadow:0 3px 12px rgba(0,0,0,.2);}
body.dark .jm-yd span,body.dark .jm-kf span{color:#d9c890;}
body.dark .jm-bj{background:linear-gradient(145deg,rgba(55,48,30,.45),rgba(42,36,20,.35));
  border-color:rgba(180,150,60,.3);color:#d9c890;}
body.dark .jm-bj b{color:#e3c85a;}
body.dark .jm-sc{background:linear-gradient(145deg,rgba(55,48,30,.4),rgba(42,36,20,.32));
  border-color:rgba(180,150,60,.28);color:#d9c890;}
body.dark .jm-sc b{color:#e3c85a;}
body.dark .jm-area{background:linear-gradient(145deg,rgba(55,48,30,.45),rgba(42,36,20,.35));
  border-color:rgba(180,150,60,.3);box-shadow:0 4px 14px rgba(0,0,0,.15);}
body.dark .jm-area-c{color:#cdb88a;}
body.dark .jm-area-t{color:#e3c85a;border-color:rgba(200,170,70,.3);}
@media (max-width:680px){
  .jm-yd,.jm-kf{flex-direction:column;gap:6px;}
  .jm-yd b,.jm-kf b{align-self:flex-start;}
}

/* 暗色适配 */
body.dark .jm-quote{color:#c9b890;background:rgba(227,196,90,.08);}
body.dark .jm-tag{color:#d9c178;background:rgba(227,196,90,.12);}
body.dark .jm-area{background:linear-gradient(180deg,rgba(227,196,90,.06),rgba(0,0,0,.15));}
body.dark .jm-yi{background:linear-gradient(145deg,rgba(40,70,40,.55),rgba(30,55,30,.45));
  border-color:rgba(100,170,100,.45);box-shadow:0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05);}
body.dark .jm-yi span{color:#a8d4a8;}
body.dark .jm-ji{background:linear-gradient(145deg,rgba(75,35,35,.55),rgba(60,28,28,.45));
  border-color:rgba(180,90,80,.45);box-shadow:0 4px 16px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05);}
body.dark .jm-ji span{color:#e8a0a0;}
body.dark .jm-adv{background:linear-gradient(180deg,rgba(227,196,90,.12),rgba(227,196,90,.05));color:#e9dcc0;}

/* 移动端 */
@media (max-width:680px){
  .jm-areas{grid-template-columns:1fr;}
  .jm-yiji{flex-direction:column;}
  .jm-adv{padding-left:14px;}
  .jm-adv-lab{position:static;display:inline-block;margin-bottom:6px;}
}

/* 暗色适配 · 皇家夜典（深紫天鹅绒保留，内卡转暗金诏书） */
body.dark .jm-page{background-color:#1c1330;background-image:
    radial-gradient(120% 90% at 50% -10%, rgba(126,76,160,.42), transparent 60%),
    radial-gradient(120% 100% at 50% 110%, rgba(118,26,52,.45), transparent 62%),
    linear-gradient(160deg,#22163a 0%,#1c1330 45%,#241430 100%);
  box-shadow:0 40px 110px rgba(0,0,0,.6), inset 0 0 0 2px rgba(214,170,80,.5),
    inset 0 0 0 9px rgba(10,6,20,.6), inset 0 0 0 11px rgba(214,170,80,.28);
  border-color:transparent;}
body.dark .jm-page::before{border-color:rgba(214,170,80,.35);}
body.dark .jm-corner{border-color:rgba(222,178,90,.75);}
body.dark .jm-panel{background:linear-gradient(180deg,#2c2417,#221b12);border-color:#6a5526;}
body.dark .jm-panel::before{border-color:rgba(227,196,90,.38);}
body.dark .jm-rule span{background:linear-gradient(90deg,transparent,rgba(227,196,90,.6),transparent);}
body.dark .jm-crest{background:linear-gradient(180deg,rgba(138,32,56,.6),rgba(74,18,38,.65));color:#f0d79a;}
body.dark .jm-about{background:linear-gradient(180deg,rgba(30,18,46,.7),rgba(20,12,32,.7));border-color:rgba(214,170,80,.45);color:#dcc9a0;}
body.dark .jm-about .disc{border-color:rgba(214,170,80,.4);color:#c3ad82;}
body.dark .jm-page .field input{background:linear-gradient(180deg,#2c2417,#221b12);border-color:#6a5526;color:#e9dcc0;}
body.dark .jm-page .result-box .tcard{background:linear-gradient(180deg,#2c2417,#221b12);border-color:#6a5526;}
body.dark .jm-page .result-box .tcard::before{border-color:rgba(227,196,90,.38);}
body.dark .jm-page .result-box .tcard .dim{background:rgba(227,196,90,.06);border-color:#6a5526;}

/* ===== 测字页 · 书香门第（世家书房风，与解梦页紫金宫廷风区分） ===== */
.cz-page{position:relative;max-width:1080px;margin:24px auto 48px;padding:62px 44px 56px;
  border-radius:20px;
  background-color:#e7d4ad;
  background-image:
    repeating-linear-gradient(91deg, rgba(90,58,26,.045) 0 2px, transparent 2px 10px),
    radial-gradient(120% 80% at 14% 10%, rgba(120,30,24,.06), transparent 46%),
    radial-gradient(120% 90% at 86% 90%, rgba(40,28,16,.08), transparent 48%),
    linear-gradient(160deg,#f1e4c6 0%,#e8d7b1 50%,#ddc99c 100%);
  box-shadow:0 42px 110px rgba(60,40,12,.36), inset 0 0 0 3px #5a3c1e,
    inset 0 0 0 7px #c9a24a, inset 0 0 0 11px #3a2614, inset 0 0 0 13px rgba(201,162,74,.55);
  overflow:visible;}
.cz-page::before{content:"";position:absolute;inset:22px;border:1.5px solid rgba(90,58,26,.4);border-radius:14px;pointer-events:none;}
/* 四角铜钉回纹角饰 */
.cz-corner{position:absolute;width:30px;height:30px;pointer-events:none;z-index:3;border:2px solid #c9a24a;}
.cz-corner.tl{top:16px;left:16px;border-right:none;border-bottom:none;border-top-left-radius:10px;}
.cz-corner.tr{top:16px;right:16px;border-left:none;border-bottom:none;border-top-right-radius:10px;}
.cz-corner.bl{bottom:16px;left:16px;border-right:none;border-top:none;border-bottom-left-radius:10px;}
.cz-corner.br{bottom:16px;right:16px;border-left:none;border-top:none;border-bottom-right-radius:10px;}
.cz-corner::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:radial-gradient(circle,#e6c46a,#9c6b1e);box-shadow:0 0 6px rgba(201,162,74,.7);}
.cz-corner.tl::after{top:4px;left:4px;}.cz-corner.tr::after{top:4px;right:4px;}.cz-corner.bl::after{bottom:4px;left:4px;}.cz-corner.br::after{bottom:4px;right:4px;}

/* 匾额（木质描金招牌） */
.cz-plaque{position:relative;margin:0 auto 34px;max-width:460px;text-align:center;}
.cz-plaque::before,.cz-plaque::after{content:"";position:absolute;top:54%;width:42px;height:3px;background:linear-gradient(90deg,transparent,#c9a24a,transparent);}
.cz-plaque::before{left:-26px;}.cz-plaque::after{right:-26px;}
.cz-plaque-board{display:inline-block;position:relative;padding:16px 48px;border-radius:10px;
  background:linear-gradient(180deg,#4a2f18,#33200f 60%,#271708);
  border:2px solid #c9a24a;
  box-shadow:0 10px 30px rgba(40,20,8,.45),inset 0 0 0 3px rgba(201,162,74,.28),inset 0 2px 6px rgba(0,0,0,.5);}
.cz-plaque-board::before,.cz-plaque-board::after{content:"";position:absolute;top:50%;transform:translateY(-50%);width:9px;height:9px;border-radius:50%;background:radial-gradient(circle,#e6c46a,#9c6b1e);box-shadow:0 0 6px rgba(201,162,74,.6);}
.cz-plaque-board::before{left:12px;}.cz-plaque-board::after{right:12px;}
.cz-plaque-title{position:relative;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:34px;letter-spacing:14px;padding-left:14px;
  background:linear-gradient(110deg,#b9842a 0%,#e9c265 28%,#fff7da 46%,#fffefb 50%,#fff7da 54%,#e9c265 72%,#b9842a 100%);
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.6));
  animation:czShine 3.4s ease-in-out infinite;}
.cz-plaque-title::before,.cz-plaque-title::after{content:"✦";position:absolute;color:#fff7da;opacity:0;
  text-shadow:0 0 8px #ffe6a0,0 0 14px rgba(255,221,150,.6);animation:czSpark 2.6s ease-in-out infinite;pointer-events:none;}
.cz-plaque-title::before{left:-16px;top:-8px;font-size:18px;}
.cz-plaque-title::after{right:-18px;bottom:-12px;font-size:13px;animation-delay:1.3s;}
@keyframes czShine{0%{background-position:160% 0}100%{background-position:-60% 0}}
@keyframes czSpark{0%,100%{opacity:0;transform:scale(.4) rotate(0deg)}40%{opacity:1;transform:scale(1) rotate(12deg)}60%{opacity:.85;transform:scale(.9) rotate(-8deg)}}

/* 左右朱红对联 */
.cz-couplet{position:absolute;top:150px;width:48px;padding:20px 5px;
  font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:23px;line-height:1.5;letter-spacing:6px;text-align:center;
  writing-mode:vertical-rl;text-orientation:upright;color:#f4ecd8;
  background:linear-gradient(180deg,#b3322a,#8f2018);border:2px solid #e6c46a;border-radius:8px;
  box-shadow:0 6px 18px rgba(120,30,20,.35),inset 0 0 0 3px rgba(244,236,216,.22);z-index:4;}
.cz-couplet-r{right:20px;}.cz-couplet-l{left:20px;}

/* hero */
.cz-hero{position:relative;display:flex;align-items:center;justify-content:center;gap:26px;
  padding:18px 8px 26px;margin-bottom:24px;border-bottom:1px solid rgba(90,58,26,.3);}
.cz-moon{flex:0 0 auto;width:120px;height:120px;filter:drop-shadow(0 4px 14px rgba(60,40,20,.25));}
.cz-moon svg{width:100%;height:100%;display:block;}
.cz-hero-mid{position:relative;text-align:center;}
.cz-en{font-family:"Times New Roman",Georgia,"Songti SC",serif;font-style:italic;font-size:14px;letter-spacing:3px;color:#8a6d3a;text-transform:uppercase;margin-bottom:10px;}
.cz-kicker{display:inline-block;font-size:12px;letter-spacing:6px;color:#9c241d;border:1px solid rgba(179,50,42,.5);border-radius:20px;padding:4px 16px;margin-bottom:12px;background:rgba(179,50,42,.07);}
.cz-art{flex:0 0 auto;width:120px;height:120px;border-radius:16px;overflow:hidden;filter:drop-shadow(0 6px 18px rgba(120,30,20,.30));}
.cz-art svg{width:100%;height:100%;display:block;}
.cz-art svg text{transform-origin:60px 60px;animation:czBeat 1.1s ease-in-out infinite;}
@keyframes czBeat{
  0%   {transform:scale(1);}
  12%  {transform:scale(1.1);}
  24%  {transform:scale(1);}
  36%  {transform:scale(1.16);}
  48%  {transform:scale(1);}
  100% {transform:scale(1);}}
.cz-crest{display:inline-block;margin-top:14px;padding:5px 16px;border-radius:5px;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:13px;letter-spacing:4px;color:#f4ecd8;border:1px double rgba(244,236,216,.7);background:linear-gradient(180deg,#c0392b,#9c241d);box-shadow:0 3px 12px rgba(120,30,20,.4),inset 0 0 10px rgba(244,236,216,.15);}
.cz-page .page-title{position:relative;font-size:44px;letter-spacing:12px;padding:6px 0 14px;background:linear-gradient(180deg,#3a322a,#1f1b16);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 2px rgba(120,80,40,.2));}
.cz-page .page-title::before{content:"\u2756";position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);color:#b3322a;font-size:14px;text-shadow:0 0 8px rgba(179,50,42,.4);}
.cz-page .page-title::after{content:"";position:absolute;left:50%;bottom:4px;transform:translateX(-50%);width:260px;height:2px;background:linear-gradient(90deg,transparent,#b3322a,transparent);}
.cz-page .page-sub{font-size:14px;letter-spacing:6px;color:#6a5236;margin-top:14px;}

.cz-rule{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto 26px;max-width:520px;}
.cz-rule span{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(179,50,42,.6),transparent);}
.cz-rule i{font-style:normal;color:#b3322a;font-size:18px;font-family:"Kaiti SC",STKaiti,KaiTi,serif;text-shadow:0 0 6px rgba(179,50,42,.3);}

.cz-panel{position:relative;max-width:700px;margin:4px auto 0;padding:26px 26px 22px;
  background:linear-gradient(180deg,#fbf6ea,#f1e7d0);border:1px solid rgba(90,58,26,.55);border-radius:18px;
  box-shadow:0 18px 52px rgba(60,40,20,.20),inset 0 2px 0 rgba(255,255,255,.6),inset 0 0 0 4px rgba(179,50,42,.12);}
.cz-panel::before{content:"";position:absolute;inset:8px;border:1px dashed rgba(179,50,42,.4);border-radius:12px;pointer-events:none;}
.cz-page .field label{font-size:15px;color:#3a2c1c;letter-spacing:1px;}
.cz-page .field input{font-size:16px;padding:13px 16px;border:1px solid rgba(90,58,26,.5);background:linear-gradient(180deg,#fffdf8,#fbf3df);color:#2b241d;}
.cz-page .field input::placeholder{color:#a8967a;}
.cz-page .field input:focus{border-color:#b3322a;box-shadow:0 0 0 3px rgba(179,50,42,.22);}

.btn-cz{display:inline-block;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-weight:700;font-size:20px;letter-spacing:10px;
  padding:15px 54px;border-radius:34px;border:2px solid #b3322a;color:#f4ecd8;
  background:linear-gradient(180deg,#2f2820,#1a1510 55%,#120e0a);
  box-shadow:0 10px 28px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.1),0 0 24px rgba(179,50,42,.25);
  cursor:pointer;position:relative;overflow:hidden;transition:.3s;text-shadow:0 1px 0 rgba(0,0,0,.5);}
.btn-cz::after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(120deg,transparent,rgba(244,236,216,.5),transparent);transform:skewX(-20deg);transition:left .6s;}
.btn-cz:hover{filter:brightness(1.12);transform:translateY(-3px);box-shadow:0 14px 32px rgba(0,0,0,.4),0 0 0 2.5px rgba(179,50,42,.7),0 0 36px rgba(179,50,42,.4);}
.btn-cz:hover::after{left:130%;}
.btn-cz:active{transform:translateY(2px);}

/* 测字结果卡 · 宣纸卷轴 + 朱印 */
.cz-page .result-box{margin-top:24px;}
.cz-page .result-box .cz-tcard{position:relative;margin-top:22px;padding:34px 30px 30px;border:1px solid rgba(90,58,26,.55);border-radius:14px;
  background:linear-gradient(180deg,#fdf8ec,#f3e7cd);
  box-shadow:0 22px 60px rgba(60,40,20,.28),inset 0 2px 0 rgba(255,255,255,.7),inset 0 0 0 4px rgba(179,50,42,.12);}
.cz-page .result-box .cz-tcard::before{content:"";position:absolute;inset:9px;border:1px double rgba(179,50,42,.5);border-radius:10px;pointer-events:none;}
.cz-page .result-box .cz-tcard::after{content:"\6e2c";position:absolute;top:18px;right:18px;width:46px;height:46px;border-radius:9px;background:linear-gradient(180deg,#c0392b,#9c241d);color:#f4ecd8;display:flex;align-items:center;justify-content:center;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:20px;transform:rotate(-7deg);box-shadow:0 4px 12px rgba(120,30,20,.45),inset 0 0 0 2px rgba(244,236,216,.6);}
/* 卷轴轴头 */
.cz-roller{position:absolute;left:-6px;right:-6px;height:12px;border-radius:6px;
  background:linear-gradient(180deg,#6b4423,#3a2614);box-shadow:0 2px 6px rgba(40,20,8,.4),inset 0 1px 0 rgba(201,162,74,.4);z-index:3;}
.cz-roller-top{top:-7px;}.cz-roller-bottom{bottom:-7px;}
.cz-char{position:relative;width:108px;height:108px;margin:0 auto 18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:60px;letter-spacing:0;border:2px solid rgba(179,50,42,.7);background:linear-gradient(180deg,#c0392b,#9c241d);color:#f4ecd8;box-shadow:0 0 22px rgba(179,50,42,.28),inset 0 0 18px rgba(120,20,15,.35);filter:drop-shadow(0 2px 4px rgba(0,0,0,.18));}
.cz-char::after{content:"";position:absolute;inset:7px;border:1px dashed rgba(244,236,216,.5);border-radius:50%;pointer-events:none;}
.cz-row{margin:6px 0 14px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;}
.cz-row .cz-pill{margin:0;}
.cz-pill{font-size:13px;letter-spacing:2px;padding:5px 16px;border-radius:18px;background:linear-gradient(180deg,#f1e7d0,#e6d8ba);border:1px solid rgba(90,58,26,.4);color:#4a4036;box-shadow:0 2px 8px rgba(60,40,20,.12);}
.cz-pill.good{background:linear-gradient(180deg,#e3f0e3,#cfe8cf);border-color:rgba(80,150,80,.55);color:#2d5a2d;}
.cz-pill.bad{background:linear-gradient(180deg,#f7e3df,#f1cfc8);border-color:rgba(179,50,42,.55);color:#9c241d;}
.cz-pill.mid{background:linear-gradient(180deg,#e9e4da,#dcd4c6);border-color:rgba(120,110,95,.5);color:#4a443c;}
.cz-line{display:flex;gap:12px;align-items:flex-start;margin:12px 0;padding:11px 15px;border:1px solid rgba(179,50,42,.3);border-left:3px solid #b3322a;border-radius:9px;background:rgba(255,255,255,.5);line-height:1.9;font-size:15px;position:relative;}
.cz-lab{flex:0 0 auto;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:15px;letter-spacing:3px;color:#9c241d;min-width:76px;text-align:right;}
.cz-txt{flex:1;color:#3a322a;}
.cz-foot{margin-top:14px;font-size:13px;color:#8a785c;text-align:center;letter-spacing:1px;}
.cz-yiji{display:flex;gap:14px;margin:14px 0;flex-wrap:wrap;}
.cz-yi,.cz-ji{flex:1;min-width:200px;padding:11px 14px;border-radius:9px;border:1px solid rgba(179,50,42,.3);background:rgba(255,255,255,.55);}
.cz-yi{border-left:3px solid #2d8a2d;}
.cz-ji{border-left:3px solid #b3322a;}
.cz-yi-lab,.cz-ji-lab{display:inline-block;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:15px;letter-spacing:3px;margin:0 8px 4px 0;}
.cz-yi-lab{color:#2d8a2d;}
.cz-ji-lab{color:#b3322a;}
.cz-tag{display:inline-block;margin:4px 6px 0 0;padding:3px 12px;border-radius:14px;font-size:13px;letter-spacing:1px;line-height:1.7;}
.cz-tag-yi{background:linear-gradient(180deg,#e3f0e3,#cfe8cf);border:1px solid rgba(80,150,80,.5);color:#2d5a2d;}
.cz-tag-ji{background:linear-gradient(180deg,#f7e3df,#f1cfc8);border:1px solid rgba(179,50,42,.5);color:#9c241d;}
.cz-poem{margin:16px 0 4px;padding:14px 18px;border-radius:10px;text-align:center;font-family:"Kaiti SC",STKaiti,KaiTi,serif;font-size:18px;letter-spacing:4px;color:#9c241d;background:linear-gradient(180deg,rgba(179,50,42,.1),rgba(179,50,42,.04));border:1px solid rgba(179,50,42,.25);line-height:1.9;}

.cz-page .about{position:relative;margin-top:26px;background:linear-gradient(180deg,rgba(244,236,216,.85),rgba(233,220,192,.85));border:1px solid rgba(90,58,26,.45);border-radius:16px;padding:24px 28px;line-height:2;color:#4a4036;box-shadow:0 14px 40px rgba(60,40,20,.18),inset 0 0 0 4px rgba(179,50,42,.10);overflow:hidden;}
.cz-page .about .disc{margin-top:16px;padding:14px;border:1px dashed rgba(179,50,42,.45);border-radius:10px;font-size:13px;color:#6a5a44;}

/* 书香门第 暗色适配 · 墨夜描金 */
body.dark .cz-page{background-color:#1a1612;background-image:
    repeating-linear-gradient(91deg, rgba(201,162,74,.04) 0 2px, transparent 2px 10px),
    radial-gradient(120% 80% at 14% 10%, rgba(179,50,42,.14), transparent 46%),
    radial-gradient(120% 90% at 86% 90%, rgba(120,110,95,.12), transparent 48%),
    linear-gradient(160deg,#221c16 0%,#1a1612 50%,#15110d 100%);
  box-shadow:0 40px 110px rgba(0,0,0,.6), inset 0 0 0 3px #6b4a24, inset 0 0 0 7px rgba(201,162,74,.5), inset 0 0 0 11px #3a2614, inset 0 0 0 13px rgba(201,162,74,.4);
  border-color:transparent;}
body.dark .cz-page::before{border-color:rgba(201,162,74,.35);}
body.dark .cz-corner{border-color:#c9a24a;}
body.dark .cz-plaque-board{background:linear-gradient(180deg,#3a2614,#241608 60%,#1c1006);border-color:#c9a24a;}
body.dark .cz-panel{background:linear-gradient(180deg,#241f19,#1a1612);border-color:#4a4036;}
body.dark .cz-panel::before{border-color:rgba(179,50,42,.38);}
body.dark .cz-rule span{background:linear-gradient(90deg,transparent,rgba(179,50,42,.6),transparent);}
body.dark .cz-crest{background:linear-gradient(180deg,#c0392b,#8f2018);}
body.dark .cz-page .field input{background:linear-gradient(180deg,#241f19,#1a1612);border-color:#4a4036;color:#f4ecd8;}
body.dark .cz-page .result-box .cz-tcard{background:linear-gradient(180deg,#241f19,#1a1612);border-color:#4a4036;}
body.dark .cz-page .result-box .cz-tcard::before{border-color:rgba(179,50,42,.38);}
body.dark .cz-line{background:rgba(179,50,42,.08);border-color:#4a4036;}
body.dark .cz-foot{color:#b8a888;}
body.dark .cz-yi,body.dark .cz-ji{background:rgba(179,50,42,.08);border-color:#4a4036;}
body.dark .cz-poem{background:rgba(179,50,42,.14);border-color:#4a4036;color:#e0b0a6;}
body.dark .cz-tag-yi{background:rgba(80,150,80,.2);color:#9fd49f;border-color:#3a5a3a;}
body.dark .cz-tag-ji{background:rgba(179,50,42,.22);color:#e8a99e;border-color:#6a3a32;}
body.dark .cz-page .about{background:linear-gradient(180deg,rgba(36,31,25,.85),rgba(26,22,18,.85));border-color:#4a4036;color:#cbbda4;}
body.dark .cz-page .about .disc{border-color:rgba(179,50,42,.38);color:#a8967a;}
body.dark .cz-txt{color:#d8cab0;}
body.dark .cz-page .page-sub{color:#b8a888;}
body.dark .cz-kicker{color:#e08a7e;background:rgba(179,50,42,.12);}
body.dark .cz-roller{background:linear-gradient(180deg,#4a3320,#2a1c0e);}


/* 移动端 */
@media (max-width:680px){
  .jm-hero{flex-wrap:wrap;gap:14px;}
  .jm-moon{width:84px;height:84px;}
  .jm-art{width:108px;height:108px;}
  .jm-page .page-title{font-size:32px;letter-spacing:7px;}
  .jm-page .page-title::after{width:170px;}
  .cz-couplet{display:none;}
  .cz-plaque-title{font-size:27px;letter-spacing:8px;}
  .cz-plaque-board{padding:14px 28px;}
  .cz-page{padding:50px 20px 42px;}
  .cz-hero{gap:14px;}
  .cz-moon,.cz-art{width:88px;height:88px;}
}