/* ============================================================
   大明国学 · 站点样式 v1
   规范：移动端正文≥15px、辅助≥13px、禁12px以下；文字透明度≥.78
   ============================================================ */
:root{
  --gold:#d9bc7a; --gold-d:#b9924a; --gold-l:#ffe9b8;
  --cinnabar:#e8503f; --cinnabar-d:#c73a2b;
  --ink:#edf2f8; --ink-faint:rgba(224,232,244,.82);
  --ink-soft:rgba(224,232,244,.88); --ink-dim:rgba(224,232,244,.52);
  /* 暖纸色文字（压在卡片透明金罩上）——白天整套翻深，见 body.day */
  --warm-hi:rgba(243,234,217,.94); --warm-tx:rgba(243,234,217,.88);
  --warm-dim:rgba(243,234,217,.78); --warm-ghost:rgba(243,234,217,.34);
  --gold-soft:rgba(217,188,122,.78);
  --panel:rgba(12,17,28,.74); --panel-2:rgba(16,22,36,.8);
  --line:rgba(217,188,122,.32); --line-soft:rgba(217,188,122,.18);
  --radius:14px;
  --mtn1:rgba(13,20,32,.92); --mtn2:rgba(19,28,44,.96); --mtn-line:rgba(217,188,122,.4);
  --kai:"Kaiti SC","STKaiti",KaiTi,"Noto Serif SC",serif;
  --song:"Noto Serif SC","Songti SC",SimSun,serif;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html{font-size:17px;scroll-behavior:smooth;}
body{
  font-family:var(--kai);background:#070b14;color:var(--ink);
  min-height:100vh;overflow-x:hidden;line-height:1.75;
}
::selection{background:rgba(217,188,122,.35);}
a{color:var(--gold);text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
input,select{font-family:inherit;font-size:17px;}

/* ---------- 星空画布 ---------- */
#sky{position:fixed;inset:0;display:block;z-index:0;}

/* ---------- 顶栏 ---------- */
.topbar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:10px 18px;background:linear-gradient(180deg,rgba(8,12,22,.85),rgba(8,12,22,0));pointer-events:none;}
.topbar>*{pointer-events:auto;}
.brand-mini{display:flex;align-items:baseline;gap:10px;}
.brand-mini b{font-size:20px;letter-spacing:.3em;color:var(--gold);
  background:linear-gradient(100deg,#c89b4a,#ffe9b8 30%,#e7c37c 55%,#d9ae5e 80%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.brand-mini span{font-size:14px;letter-spacing:.2em;color:rgba(217,188,122,.85);}
.lang-seg{display:flex;border:1px solid var(--line);border-radius:99px;overflow:hidden;background:rgba(10,15,27,.6);}
.lang-seg button{background:none;border:none;color:var(--ink-faint);font-size:15px;padding:5px 14px;letter-spacing:.1em;}
.lang-seg button.on{background:rgba(217,188,122,.18);color:var(--gold);}
.nav-links{display:flex;gap:26px;}
.nav-links a{font-size:17px;letter-spacing:.16em;color:var(--ink-faint);padding:6px 2px;border-bottom:2px solid transparent;}
.nav-links a.on,.nav-links a:hover{color:var(--gold);border-bottom-color:var(--cinnabar);}
@media(max-width:900px){.nav-links{display:none;}}

/* ---------- 移动端底部标签栏 ---------- */
.m-tabbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:rgba(9,13,23,.92);backdrop-filter:blur(14px);border-top:1px solid var(--line-soft);
  padding:6px 4px calc(6px + env(safe-area-inset-bottom));}
.m-tabbar .tabs{display:flex;}
.m-tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--ink-faint);font-size:14px;letter-spacing:.05em;padding:4px 0;}
.m-tabbar a svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.5;}
.m-tabbar a.on{color:var(--cinnabar);}
@media(max-width:640px){.m-tabbar{display:block;}body{padding-bottom:74px;}}

/* ---------- 页面容器 ---------- */
#view{position:relative;z-index:10;min-height:100vh;}
.wrap{max-width:1080px;margin:0 auto;padding:86px 20px 60px;}
/* 结果页专用宽容器：桌面端更大气（大屏尽量吃满，两侧只留呼吸位） */
.wrap.res-wide{max-width:2200px;}
@media(min-width:1080px){.wrap.res-wide{padding-left:28px;padding-right:28px;}}
@media(min-width:1800px){.wrap.res-wide{padding-left:40px;padding-right:40px;}}
@media(max-width:640px){.wrap{padding:70px 16px 40px;}}

/* ---------- 墨晕转场 ---------- */
#wipe{position:fixed;inset:0;z-index:200;pointer-events:none;opacity:0;
  background:radial-gradient(120% 120% at 50% 50%,#0a0d14 55%,#141a26 100%);}
#wipe.go{animation:wipe .62s ease-in-out;}
@keyframes wipe{0%{opacity:0;}38%{opacity:1;transform:scale(1.06);}62%{opacity:1;}100%{opacity:0;transform:scale(1);}}

/* ---------- 门厅 ---------- */
.hall{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:104px 20px 20px;}
.hall h1{font-size:clamp(46px,9vw,96px);letter-spacing:.32em;text-indent:.32em;font-weight:700;
  background:linear-gradient(100deg,#c89b4a 0%,#ffe9b8 22%,#e7c37c 44%,#fff3d0 58%,#d9ae5e 78%,#f4dda4 100%);
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:sweep 7s ease-in-out infinite;
  filter:drop-shadow(0 2px 0 rgba(110,72,18,.85)) drop-shadow(0 4px 1px rgba(84,52,8,.5))
         drop-shadow(0 16px 34px rgba(230,160,70,.38)) drop-shadow(0 0 60px rgba(217,150,60,.25));}
/* 金环涟漪 */
.rings{position:absolute;left:50%;top:88px;width:0;height:0;z-index:-1;pointer-events:none;}
.rings i{position:absolute;left:50%;top:50%;width:min(74vmin,640px);height:min(74vmin,640px);
  margin-left:calc(min(74vmin,640px)/-2);margin-top:calc(min(74vmin,640px)/-2);
  border:1px solid rgba(217,188,122,.5);border-radius:50%;animation:ripple 7s cubic-bezier(.2,.6,.4,1) infinite;}
.rings i:nth-child(2){animation-delay:3.5s;}
@keyframes ripple{0%{transform:scale(.42);opacity:0;}18%{opacity:.55;}100%{transform:scale(1.22);opacity:0;}}
/* 离火徽记 */
.hall-glyph{width:58px;height:58px;margin:0 auto 26px;border:1px solid rgba(217,188,122,.65);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-family:var(--kai);font-size:28px;color:var(--gold);
  text-shadow:0 0 16px rgba(240,170,80,.75);box-shadow:0 0 26px rgba(230,150,60,.3),inset 0 0 16px rgba(230,150,60,.2);
  animation:glyphBreath 4.5s ease-in-out infinite;position:relative;}
.hall-glyph::after{content:'';position:absolute;inset:-7px;border:1px solid rgba(248,110,92,.35);border-radius:50%;}
@keyframes glyphBreath{0%,100%{box-shadow:0 0 26px rgba(230,150,60,.3),inset 0 0 16px rgba(230,150,60,.2);}
  50%{box-shadow:0 0 48px rgba(240,170,80,.55),inset 0 0 22px rgba(240,170,80,.35);}}
@keyframes sweep{0%,100%{background-position:0% 0;}50%{background-position:100% 0;}}
.hall .sub{margin-top:18px;font-size:21px;letter-spacing:.5em;text-indent:.5em;color:rgba(217,188,122,.85);}
.hall .sub b{color:rgba(248,110,92,1);font-weight:400;}
.hall .motto{margin-top:34px;font-size:16px;color:var(--ink-faint);letter-spacing:.28em;max-width:640px;line-height:2.2;}
.enter{margin-top:46px;display:inline-flex;align-items:center;gap:14px;background:rgba(10,15,27,.55);backdrop-filter:blur(8px);
  border:1px solid var(--gold);color:var(--gold);border-radius:99px;padding:14px 46px;font-size:19px;letter-spacing:.5em;text-indent:.5em;
  box-shadow:0 0 34px rgba(217,188,122,.16),inset 0 0 22px rgba(217,188,122,.07);transition:.3s;}
.enter:hover{background:rgba(217,188,122,.14);box-shadow:0 0 50px rgba(217,188,122,.3);}
.enter:active{transform:scale(.97);}
.hall .hint{margin-top:22px;font-size:14px;color:var(--ink-faint);letter-spacing:.12em;}
.hall .seal{margin-top:8px;font-size:14px;color:rgba(248,110,92,.9);letter-spacing:.4em;}

/* ---------- 测算切换条 ---------- */
.chart-switch{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.chart-switch::-webkit-scrollbar{display:none;}
.chart-switch a{flex:none;display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:99px;
  border:1px solid var(--line-soft);color:var(--ink-faint);font-size:15.5px;letter-spacing:.1em;
  background:rgba(255,255,255,.02);transition:.2s;white-space:nowrap;}
.chart-switch a:hover{border-color:var(--gold);color:var(--gold);}
.chart-switch a.on{background:linear-gradient(100deg,#b98f42,#e9cf96 50%,#c79c4e);color:#1a1408;font-weight:700;border-color:transparent;
  box-shadow:0 4px 18px rgba(185,146,74,.35);}
.chart-switch .vip{font-size:11px;font-weight:700;color:#1a1408;background:linear-gradient(100deg,#e9cf96,#c79c4e);border-radius:4px;padding:1px 5px;letter-spacing:.05em;}
.chart-switch .soon{font-size:11px;color:var(--cinnabar);border:1px solid rgba(232,80,63,.5);border-radius:4px;padding:0 5px;letter-spacing:.05em;}
.chart-switch a.on .soon{color:#8a2a20;border-color:rgba(138,42,32,.5);}
/* 单人/合盘 模式切换胶囊 */
.mode-seg{display:flex;width:max-content;max-width:100%;margin:16px auto 4px;background:rgba(8,12,22,.5);
  border:1px solid var(--line-soft);border-radius:999px;padding:4px;gap:4px;}
.mode-seg a{padding:8px 30px;border-radius:999px;font-size:16px;letter-spacing:.22em;
  color:var(--ink-faint);cursor:pointer;transition:.2s;white-space:nowrap;text-decoration:none;}
.mode-seg a:hover{color:var(--gold);}
.mode-seg a.on{background:linear-gradient(100deg,#b98f42,#e9cf96 50%,#c79c4e);color:#1a1408;font-weight:700;
  box-shadow:0 4px 16px rgba(185,146,74,.3);}
body.day .mode-seg{background:rgba(255,252,244,.72);}
/* 八字合盘双卡 */
.bzh-grid{margin-top:16px;align-items:start;}
.bzh-grid>.hp-side-block{min-width:0;}
/* 合盘统一起盘按钮：更醒目 */
.hp-cast{min-width:min(420px,86vw);padding:16px 40px;font-size:18px;letter-spacing:.14em;
  box-shadow:0 8px 30px rgba(185,146,74,.4);}
.hp-cast-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:18px;}
.hp-cast-wrap .hp-hint{font-size:14.5px;color:var(--ink-faint);letter-spacing:.06em;}
@media(max-width:640px){
  .hp-cast{width:100%;}
}

/* ---------- 区块通用 ---------- */
.sec-title{display:flex;align-items:baseline;gap:14px;margin:40px 0 6px;}
.sec-title:first-child{margin-top:8px;}
.sec-title h2{font-size:26px;letter-spacing:.3em;color:var(--gold);font-weight:700;}
.sec-title span{font-size:15px;color:var(--gold-soft);letter-spacing:.18em;}
.sec-desc{font-size:16px;color:var(--ink-faint);letter-spacing:.04em;margin-bottom:18px;max-width:760px;}

.card{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);padding:20px;backdrop-filter:blur(10px);}
.card + .card{margin-top:14px;}

/* 工具选择卡 */
.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;}
.tool-card{position:relative;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);
  padding:20px 18px;cursor:pointer;transition:.25s;overflow:hidden;}
.tool-card:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 14px 40px rgba(0,0,0,.4);}
.tool-card .glyph{font-size:38px;line-height:1;color:var(--gold);opacity:.92;}
.tool-card b{display:block;margin-top:12px;font-size:19px;letter-spacing:.2em;color:var(--ink);}
.tool-card i{display:block;font-style:normal;margin-top:6px;font-size:15px;color:var(--ink-faint);letter-spacing:.03em;line-height:1.7;}
.tool-card .free{position:absolute;top:12px;right:12px;font-size:14px;color:var(--cinnabar);border:1px solid rgba(248,110,92,.5);border-radius:99px;padding:2px 10px;letter-spacing:.1em;}
.tool-card .soon{position:absolute;top:12px;right:12px;font-size:14px;color:var(--ink-faint);border:1px solid var(--line);border-radius:99px;padding:2px 10px;letter-spacing:.1em;}

/* 合参 VIP 条 */
.hecan-bar{display:flex;align-items:center;gap:14px;background:linear-gradient(90deg,rgba(60,42,16,.65),rgba(26,20,12,.75));
  border:1px solid rgba(217,188,122,.45);border-radius:var(--radius);padding:16px 18px;margin-top:14px;cursor:pointer;transition:.25s;}
.hecan-bar:hover{border-color:var(--gold-l);}
.hecan-bar .h-glyph{font-size:26px;color:var(--gold);}
.hecan-bar b{font-size:18px;letter-spacing:.22em;color:var(--gold);}
.hecan-bar i{font-style:normal;font-size:15px;color:var(--ink-faint);margin-left:auto;letter-spacing:.06em;}
.hecan-bar .vip{font-size:14px;color:#1a1408;background:linear-gradient(100deg,#d9bc7a,#ffe9b8);border-radius:99px;padding:2px 12px;letter-spacing:.12em;font-weight:700;}

/* 五行铭牌卡（「我是什么命」） */
.wxt-plate{display:flex;gap:16px;align-items:center;flex-wrap:wrap;border:1px solid rgba(217,188,122,.5);border-radius:12px;
  padding:16px 18px;margin:12px 0;background:linear-gradient(120deg,rgba(217,188,122,.10),rgba(217,188,122,.02));}
.wxt-plate-l b{font-size:36px;color:var(--gold);letter-spacing:.08em;font-family:Kaiti SC,STKaiti,KaiTi,serif;line-height:1;}
.wxt-plate-l i{display:block;font-style:normal;font-size:15px;color:var(--ink-faint);margin-top:6px;letter-spacing:.12em;}
.wxt-plate-r{margin-left:auto;text-align:right;}
.wxt-kw{display:inline-block;font-size:13.5px;color:var(--gold);border:1px solid rgba(217,188,122,.4);border-radius:99px;padding:2px 10px;margin:2px 0 2px 6px;letter-spacing:.06em;}
.wxt-plate-r em{display:block;font-style:normal;font-size:14px;color:#f86e5c;margin-top:8px;letter-spacing:.1em;}
.wxt-bars{margin:12px 0 4px;}
.wxt-bar{display:flex;align-items:center;gap:10px;margin:6px 0;}
.wxt-bar b{width:18px;font-size:15.5px;flex-shrink:0;}
.wxt-bar .tr{flex:1;height:9px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden;}
.wxt-bar .fi{height:100%;border-radius:99px;transition:width .8s ease;}
.wxt-bar i{font-style:normal;width:40px;text-align:right;font-size:13.5px;color:var(--ink-faint);flex-shrink:0;}
.wxt-bar u{font-style:normal;text-decoration:none;font-size:13px;color:#f86e5c;width:22px;flex-shrink:0;opacity:.9;}
.wxt-bar u.on{color:var(--gold);}
.wxt-bar u.wk{color:rgba(224,180,110,.85);}
.wxt-sec{margin-top:16px;}
.wxt-sec>b{display:block;font-size:16px;color:var(--gold);letter-spacing:.14em;margin-bottom:4px;}
.wxt-love-row{display:flex;gap:12px;padding:8px 0;border-bottom:1px dashed var(--line-soft);align-items:baseline;}
.wxt-love-row:last-child{border-bottom:none;}
.wxt-love-row b{flex-shrink:0;font-size:15px;color:var(--gold);min-width:96px;letter-spacing:.04em;}
.wxt-love-row span{font-size:15px;color:var(--ink);opacity:.88;line-height:1.7;}
.wxt-love-row.hl{background:rgba(217,188,122,.06);border-radius:8px;padding:8px 10px;}
.wxt-chip{display:inline-flex;align-items:baseline;gap:8px;border:1px solid rgba(217,188,122,.45);border-radius:10px;padding:6px 12px;background:rgba(217,188,122,.05);}
.wxt-chip b{font-size:19px;color:var(--gold);font-family:Kaiti SC,STKaiti,KaiTi,serif;}
.wxt-chip i{font-style:normal;font-size:13.5px;color:var(--ink-faint);}
.wxt-chip em{font-style:normal;font-size:13px;color:#f86e5c;}
.wxt-pair-row{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0 10px;}
/* 五行铭牌 · 一览（紫微 / 七政 速览版，完整卡只在四柱盘） */
.wxt-brief .reading{padding-bottom:14px;}
.wxt-brief .wxt-pair-row{margin:10px 0 0;}
.wxt-brief-note{margin:12px 0 0;font-size:14.5px;color:var(--ink-faint);line-height:1.8;}
.wxt-brief-link{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(217,188,122,.45);}
.wxt-brief-link:hover{border-bottom-color:var(--gold);}
body.day .wxt-plate{border-color:rgba(122,96,40,.5);background:linear-gradient(120deg,rgba(122,96,40,.08),rgba(122,96,40,.02));}
body.day .wxt-chip{border-color:rgba(122,96,40,.5);}
@media(max-width:640px){
  .wxt-plate{padding:14px;}
  .wxt-plate-l b{font-size:30px;}
  .wxt-plate-r{margin-left:0;text-align:left;width:100%;}
  .wxt-love-row{flex-wrap:wrap;gap:4px 12px;}
  .wxt-love-row b{min-width:0;}
}

/* 门厅顶部五行生克环（徽章位） */
.hall-wxtop{margin:0 auto 30px;width:280px;}
.hall-wxtop .hx-ring{width:280px;margin:0;}
/* 门厅 3D 罗盘（替换五行 SVG 环） */
/* 门厅罗盘：宽幅 + 径向羽化融入星空（2026-10-05 排版重设计，仿完整视频末帧海报构图） */
.pan3d-wrap{position:relative;width:min(960px,100vw);aspect-ratio:1.5/1;margin:-14px auto 0}
.pan3d-wrap canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none;
  -webkit-mask-image:radial-gradient(ellipse 98% 94% at 50% 50%,#000 82%,rgba(0,0,0,.55) 93%,transparent 100%);
  mask-image:radial-gradient(ellipse 98% 94% at 50% 50%,#000 82%,rgba(0,0,0,.55) 93%,transparent 100%)}
.pan3d-wrap .hx-tip{position:absolute;left:0;right:0;bottom:12%;margin:0;font-size:16px;z-index:3}
/* 标题叠印罗盘下缘羽化区：海报式构图，罗盘不再是孤立的矩形小窗 */
.hall-core h1{position:relative;z-index:3;margin-top:calc(clamp(46px,9vw,96px)*-.62)}
@media (max-width:820px){.pan3d-wrap{width:100vw;aspect-ratio:1.3/1;margin-top:-6px}
  .hall-core h1{margin-top:calc(clamp(46px,9vw,96px)*-.42)}}
.hx-tip{height:28px;margin-top:8px;font-size:18px;color:rgba(217,188,122,.9);letter-spacing:.28em;text-indent:.28em;
  text-align:center;opacity:0;transition:opacity .25s;white-space:nowrap;}
.hx-tip.on{opacity:1;}
.hx-ring{display:block;}
.hx-ticks{animation:hxSpin 240s linear infinite;transform-origin:170px 170px;}
@keyframes hxSpin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.hx-ticks{animation:none;}}
.hx-gen{fill:none;stroke:rgba(217,188,122,.55);stroke-width:1.3;transition:opacity .25s,stroke .25s;}
.hx-ke{stroke:rgba(248,110,92,.42);stroke-width:1.1;transition:opacity .25s,stroke .25s;}
.hx-node{cursor:pointer;transition:opacity .25s;}
.hx-ring.focused .hx-gen,.hx-ring.focused .hx-ke{opacity:.13;}
.hx-ring.focused .hx-node{opacity:.32;}
.hx-ring .hx-gen.on{opacity:1;stroke-width:2;stroke:rgba(232,186,104,.95);filter:drop-shadow(0 0 4px rgba(230,170,80,.5));}
.hx-ring .hx-ke.on{opacity:1;stroke-width:1.8;stroke:rgba(248,110,92,.9);}
.hx-ring .hx-node.on{opacity:1;}
body.day .hx-gen{stroke:rgba(122,96,40,.55);}
body.day .hx-ke{stroke:rgba(199,58,43,.45);}
body.day .hx-tip{color:rgba(122,96,40,.9);}
@media(max-width:640px){.hall-wxtop{width:214px;margin-bottom:22px;}.hall-wxtop .hx-ring{width:214px;}.hx-tip{font-size:16px;height:26px;margin-top:6px;letter-spacing:.18em;text-indent:.18em;}}

/* ---------- 表单 ---------- */.form-card{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:var(--radius);padding:22px;margin-top:16px;}
.frow{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px;}
.frow>div{flex:1;min-width:140px;}
.field-label{display:block;font-size:16px;letter-spacing:.08em;color:var(--gold);margin-bottom:6px;}
.field-label b{font-weight:700;letter-spacing:.14em;}
.field-label span{font-size:14px;color:var(--ink-faint);margin-left:8px;letter-spacing:.03em;}
input.inp,select.inp,textarea.inp{width:100%;background:rgba(8,12,22,.6);border:1px solid var(--line);border-radius:8px;
  color:var(--ink);padding:10px 12px;font-size:17px;letter-spacing:.04em;outline:none;transition:border-color .2s;}
textarea.inp{resize:none;line-height:1.65;min-height:calc(3*1.65em + 20px);overflow-y:auto;font-family:inherit;}
input.inp:focus,select.inp:focus,textarea.inp:focus{border-color:var(--gold);}
input.inp::placeholder,textarea.inp::placeholder{color:var(--ink-dim);}
.seg{display:flex;flex-wrap:wrap;gap:8px;}
.seg button{background:rgba(8,12,22,.5);border:1px solid var(--line);border-radius:8px;color:var(--ink-faint);
  font-size:16px;padding:8px 16px;letter-spacing:.08em;transition:.2s;}
.seg button.on{background:rgba(217,188,122,.18);border-color:var(--gold);color:var(--gold);}
.seg button:hover{border-color:var(--gold);}

.btn-gold{display:inline-block;background:linear-gradient(100deg,#b98f42,#e9cf96 50%,#c79c4e);  color:#1a1408;font-weight:700;font-size:18px;letter-spacing:.3em;text-indent:.3em;border:none;border-radius:99px;
  padding:13px 44px;box-shadow:0 6px 26px rgba(185,146,74,.35);transition:.25s;}
.btn-gold:hover{filter:brightness(1.08);}
.hall-cta .btn-gold{animation:ctaGlow 3.2s ease-in-out infinite;}
@keyframes ctaGlow{0%,100%{box-shadow:0 6px 26px rgba(185,146,74,.35),0 0 20px rgba(230,170,80,.25);}
  50%{box-shadow:0 6px 26px rgba(185,146,74,.5),0 0 46px rgba(245,195,105,.6);}}
.btn-gold:active{transform:scale(.97);}
.btn-line{display:inline-block;background:none;border:1px solid var(--cinnabar);color:#f8786c;border-radius:99px;
  padding:11px 34px;font-size:17px;letter-spacing:.2em;transition:.25s;}
.btn-line:hover{background:rgba(232,80,63,.12);}
.mode-hint{margin-top:10px;font-size:14px;color:var(--ink-faint);letter-spacing:.06em;}

/* ---------- 加载遮罩（推演仪式） ---------- */
#loading{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;
  background:rgba(4,6,10,.82);backdrop-filter:blur(6px);}
#loading.on{display:flex;}
.ld-box{text-align:center;}
.ring{position:relative;width:150px;height:150px;margin:0 auto;}
.ring svg{width:100%;height:100%;transform:rotate(-90deg);}
.ring .track{stroke:rgba(217,188,122,.15);fill:none;}
.ring .bar{stroke:url(#ldgrad);fill:none;stroke-linecap:round;transition:stroke-dashoffset .4s ease;}
.ring .core{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:54px;color:var(--gold);font-weight:700;text-shadow:0 0 30px rgba(217,188,122,.5);}
.ring .core.pulse{animation:corePulse 1.6s ease-in-out infinite;}
@keyframes corePulse{0%,100%{transform:scale(1);opacity:.85;}50%{transform:scale(1.08);opacity:1;}}
.ring .core.spin{animation:coreSpin 2.4s linear infinite;}
@keyframes coreSpin{from{transform:rotate(0);}to{transform:rotate(360deg);}}
.ld-steps{margin-top:22px;font-size:17px;letter-spacing:.2em;color:var(--gold);min-height:30px;}
.ld-steps small{display:block;font-size:14px;color:var(--ink-faint);margin-top:6px;letter-spacing:.1em;}
/* 加载期真太阳时科普卡 */
#loading{overflow-y:auto;}
.ld-box{max-height:100dvh;overflow-y:auto;padding:18px 12px;}
.ld-info{margin-top:16px;}
.ld-solar{max-width:560px;margin:0 auto;padding:14px 18px;text-align:left;background:var(--panel);
  border:1px solid var(--line-soft);border-radius:var(--radius);}
.lds-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:900px;margin:0 auto;}
.lds-pair .ld-solar{margin:0;}
.lds-head{font-size:16px;font-weight:700;letter-spacing:.12em;color:var(--gold);}
.lds-head i{display:inline-block;font-style:normal;background:var(--gold);color:#141518;border-radius:4px;
  padding:0 7px;margin-right:8px;font-size:14px;letter-spacing:.05em;vertical-align:1px;}
.lds-edu{font-size:15px;line-height:1.8;color:var(--ink-faint);margin:8px 0 10px;}
.lds-edu b{color:var(--gold);font-weight:600;}
.lds-table{border-top:1px dashed var(--line-soft);padding-top:8px;}
.lds-row{display:flex;justify-content:space-between;gap:14px;font-size:15px;line-height:1.95;color:var(--ink);}
.lds-row span{color:var(--ink-faint);flex:none;}
.lds-row b{text-align:right;font-weight:600;}
.lds-row b.hot,.lds-row b u{color:var(--gold);}
.lds-row b u{text-decoration:none;border-bottom:1px solid var(--line);}
.lds-note{font-size:14px;line-height:1.7;color:var(--ink-faint);margin:8px 0 0;text-align:left;}
.lds-note.gold-n{color:var(--gold);}
.lds-warn{font-size:15px;line-height:1.8;color:var(--gold);border:1px dashed var(--line);border-radius:8px;
  padding:8px 12px;margin:8px 0 0;text-align:left;}
body.day .ld-solar{background:rgba(253,250,242,.92);}
/* 真太阳时 · 逐步计算动画（2026-10-10）：分行揭示 + 数字滚动 + 太阳滑弧 */
.lds-row{opacity:0;animation:ldsRow .5s cubic-bezier(.22,.9,.32,1) forwards;}
@keyframes ldsRow{from{opacity:0;transform:translateY(9px);}to{opacity:1;transform:translateY(0);}}
.lds-num{font-variant-numeric:tabular-nums;display:inline-block;min-width:1em;}
.lds-arc{display:block;width:min(300px,84%);margin:12px auto 0;overflow:visible;}
.lds-arcp{fill:none;stroke:var(--line);stroke-width:1.4;stroke-dasharray:3 5;}
.lds-mer{stroke:rgba(217,188,122,.55);stroke-width:1;stroke-dasharray:2 4;}
.lds-sun0{fill:none;stroke:var(--ink-faint);stroke-width:1.4;}
.lds-sun1{fill:none;stroke:var(--gold);stroke-width:1.2;stroke-dasharray:2 3;opacity:.85;}
.lds-sunm{fill:#ffd76e;filter:drop-shadow(0 0 6px rgba(255,205,90,.9));
  animation:ldsSun 1.05s cubic-bezier(.34,.75,.3,1) 3s both;}
@keyframes ldsSun{from{transform:translate(0,0);}to{transform:translate(var(--dx),var(--dy));}}
.lds-t{font-size:11px;fill:var(--ink-faint);}
.lds-boot{display:none;animation:ldsBoot 1ms .12s both;}
@keyframes ldsBoot{to{opacity:1;}}
.lds-note{opacity:0;animation:ldsRow .5s ease 3.9s forwards;}
body.day .lds-sunm{fill:#a5822f;}
@media(max-width:767px){
  .ld-solar{padding:12px 14px;max-width:94vw;}
  .lds-pair{grid-template-columns:1fr;}
}

/* ---------- 结果区 ---------- */
.rsec{opacity:0;transform:translateY(22px);animation:rise .7s forwards;}
.rsec:nth-child(1){animation-delay:.05s;}.rsec:nth-child(2){animation-delay:.22s;}
.rsec:nth-child(3){animation-delay:.4s;}.rsec:nth-child(4){animation-delay:.58s;}
@keyframes rise{to{opacity:1;transform:none;}}
.pillar-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:8px;}
.pillar{text-align:center;background:rgba(8,12,22,.5);border:1px solid var(--line-soft);border-radius:10px;padding:14px 18px;min-width:88px;}
.pillar em{display:block;font-style:normal;font-size:14px;color:rgba(217,188,122,.85);letter-spacing:.2em;}
.pillar b{display:block;font-size:26px;letter-spacing:.1em;color:var(--ink);margin-top:6px;}
.pillar i{display:block;font-style:normal;font-size:14px;color:var(--ink-faint);margin-top:4px;letter-spacing:.08em;}
.pillar.day{border-color:rgba(248,110,92,.5);}
.pillar.day b{color:#f8786c;}

.wx-grid{display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:center;}
.legend{display:flex;flex-direction:column;gap:6px;font-size:16px;color:var(--ink-faint);}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:8px;font-style:normal;}

.badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}
.badge{border:1px solid rgba(217,188,122,.4);border-radius:99px;padding:5px 16px;font-size:17px;letter-spacing:.14em;color:var(--gold);}
.dayun-row{display:flex;gap:0;overflow-x:auto;padding:10px 2px;}
.dayun{min-width:76px;text-align:center;position:relative;padding:10px 4px;}
.dayun::before{content:"";position:absolute;left:0;right:0;top:32px;height:1px;background:var(--line-soft);}
.dayun i{display:block;font-style:normal;font-size:14px;color:var(--ink-faint);}
.dayun b{display:block;font-size:18px;margin-top:6px;color:var(--ink);position:relative;z-index:1;}
.dayun .dot{width:9px;height:9px;border-radius:50%;background:rgba(217,188,122,.5);margin:8px auto 0;position:relative;z-index:1;}
.dayun.cur b{color:#f8786c;}
.dayun.cur .dot{background:var(--cinnabar);box-shadow:0 0 12px rgba(232,80,63,.8);}

.reading{font-size:18px;line-height:2.05;color:var(--ink);letter-spacing:.03em;}
.reading h4{font-size:20px;color:var(--gold);letter-spacing:.2em;margin:18px 0 8px;}
.reading h4::before{content:"◆";font-size:12px;margin-right:10px;color:var(--cinnabar);}
/* 成卦卡内卦象分析：左对齐分层排版（整卡 text-align:center 只服务卦名印章区） */
.hex-result .reading{text-align:left;font-size:17px;line-height:1.9;letter-spacing:.015em;
  margin-top:16px;padding-top:14px;border-top:1px dashed rgba(217,188,122,.28);}
.hex-result .reading>h4:first-child{margin-top:0;font-size:18px;letter-spacing:.14em;
  padding-bottom:10px;border-bottom:1px solid rgba(217,188,122,.18);}
.hex-result .reading h4{font-size:17px;letter-spacing:.08em;margin:14px 0 5px;}
.hex-result .reading h4::before{font-size:11px;margin-right:8px;vertical-align:1px;}
.hex-result .reading p{margin:0;color:var(--warm-tx);}
/* 成卦即现 · 书中记载（古籍原文块） */
.gua-classic{margin-top:18px;border:1px solid rgba(217,188,122,.24);border-radius:14px;padding:16px 18px;background:rgba(217,188,122,.05);}
.gua-classic h4{font-size:17px;color:var(--gold);letter-spacing:.18em;margin:0 0 10px;}
.gua-classic h4::before{content:"❝";font-size:16px;margin-right:8px;color:var(--cinnabar);}
.gua-classic p{margin:8px 0;font-size:17px;line-height:1.95;color:var(--ink);letter-spacing:.04em;}
.gua-classic .gc-k{display:inline-block;font-size:14px;color:var(--gold);border:1px solid rgba(217,188,122,.35);border-radius:6px;padding:1px 8px;margin-right:10px;letter-spacing:.1em;vertical-align:1px;}
/* 卦盘（卦图式可视化）：居中卦名 · 六爻三栏 · 动爻朱砂呼吸光 */
.ly-pan{margin-top:18px;border:1px solid rgba(217,188,122,.22);border-radius:16px;padding:18px 16px 12px;position:relative;overflow:hidden;
  background:radial-gradient(150% 100% at 50% 0%,rgba(217,188,122,.09),rgba(217,188,122,.02) 55%,transparent);}
.ly-pan::before{content:'';position:absolute;left:50%;top:70px;bottom:8px;width:170px;transform:translateX(-50%);pointer-events:none;
  background:radial-gradient(55% 55% at 50% 45%,rgba(217,188,122,.09),transparent 75%);}
.lp-head{text-align:center;padding-bottom:14px;border-bottom:1px dashed rgba(217,188,122,.18);margin-bottom:4px;position:relative;}
.lp-ben b{font-family:var(--kai);font-size:27px;color:var(--gold);letter-spacing:.3em;margin-right:-.3em;display:block;text-shadow:0 0 20px rgba(217,188,122,.35);}
.lp-ben span{display:block;margin-top:5px;font-size:13px;color:var(--ink-faint);letter-spacing:.22em;}
.lp-zhi{margin-top:9px;font-size:15px;color:#e8b96a;letter-spacing:.1em;}
.lp-zhi i{font-style:normal;color:#f8786c;border:1px solid rgba(232,80,63,.5);border-radius:4px;padding:0 5px;margin-right:7px;font-size:12.5px;vertical-align:1px;}
.lp-zhi b{font-family:var(--kai);font-size:17px;letter-spacing:.14em;}
.lp-zhi span{color:var(--ink-faint);margin-left:9px;font-size:13px;letter-spacing:.1em;}
.lp-jing{margin-top:9px;font-size:13.5px;color:var(--ink-faint);letter-spacing:.34em;}
.lp-body{position:relative;max-width:440px;margin:0 auto;}
.lp-row{display:flex;align-items:center;gap:9px;padding:8px 2px;}
.lp-row+.lp-row{border-top:1px solid rgba(217,188,122,.07);}
.lp-move{background:linear-gradient(90deg,rgba(232,80,63,.08),rgba(232,80,63,.02) 65%,transparent);border-radius:8px;}
.lp-info{flex:0 0 96px;display:flex;flex-direction:column;gap:1px;text-align:right;}
.lp-info b{font-size:14.5px;font-weight:400;color:var(--ink);letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lp-info i{font-style:normal;font-size:12.5px;color:var(--ink-faint);letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lp-info i::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--shou-c,#d9bc7a);margin-right:5px;vertical-align:1px;opacity:.85;box-shadow:0 0 5px var(--shou-c,#d9bc7a);}
.lp-bars{flex:1;display:flex;align-items:center;gap:7px;justify-content:center;min-width:0;}
.lp-yang,.lp-yin{display:block;width:100%;max-width:118px;height:10px;}
.lp-yang{border-radius:3px;background:linear-gradient(180deg,#f2d795 0%,#d9bc7a 48%,#b08a33 100%);
  box-shadow:0 0 12px rgba(217,188,122,.28),inset 0 1px 0 rgba(255,246,218,.75),inset 0 -1px 0 rgba(120,88,20,.5);}
.lp-yin{display:flex;justify-content:space-between;}
.lp-yin b{display:block;width:44%;height:10px;border-radius:3px;background:linear-gradient(180deg,#f2d795 0%,#d9bc7a 48%,#b08a33 100%);
  box-shadow:0 0 12px rgba(217,188,122,.25),inset 0 1px 0 rgba(255,246,218,.75),inset 0 -1px 0 rgba(120,88,20,.5);}
.lp-move .lp-yang,.lp-move .lp-yin b{box-shadow:0 0 14px rgba(232,80,63,.5),0 0 3px rgba(232,80,63,.55),inset 0 1px 0 rgba(255,246,218,.75),inset 0 -1px 0 rgba(120,88,20,.5);
  animation:lpGlow 2.6s ease-in-out infinite;}
@keyframes lpGlow{0%,100%{filter:brightness(1);}50%{filter:brightness(1.3);}}
@media(prefers-reduced-motion:reduce){.lp-move .lp-yang,.lp-move .lp-yin b{animation:none;}}
.lp-mv{flex:0 0 15px;font-style:normal;color:var(--cinnabar);font-weight:700;font-size:16px;text-align:center;text-shadow:0 0 9px rgba(232,80,63,.55);}
.lp-badge{flex:0 0 26px;text-align:center;}
.lp-shi{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;background:var(--cinnabar);color:#fff;border-radius:50%;font-size:12px;box-shadow:0 0 9px rgba(232,80,63,.45);}
.lp-ying{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;border:1px solid rgba(217,188,122,.55);color:var(--gold);border-radius:50%;font-size:12px;background:rgba(217,188,122,.08);}
@media(max-width:767px){.lp-info{flex-basis:88px;}.lp-info b{font-size:14.5px;}.lp-info i{font-size:12.5px;}}
/* 古籍原文折叠 */
.gua-fold{margin-top:16px;border:1px solid rgba(217,188,122,.2);border-radius:14px;}
.gua-fold summary{cursor:pointer;padding:13px 16px;font-size:15.5px;color:var(--gold);letter-spacing:.08em;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;}
.gua-fold summary::-webkit-details-marker{display:none;}
.gua-fold summary span{font-size:13px;color:var(--ink-faint);letter-spacing:.1em;flex:0 0 auto;}
.gua-fold[open] summary{border-bottom:1px dashed rgba(217,188,122,.2);}
.gua-fold .gua-classic{margin:0;border:none;border-radius:0 0 14px 14px;background:transparent;}
.gua-fold .reading{margin:0;padding:2px 16px 14px;}
.gua-fold.reading-fold summary b{font-weight:700;font-size:15.5px;letter-spacing:.1em;}
/* 谜语判词：深度参详前的神秘一笔 */
.pan-verse{margin-top:20px;text-align:center;padding:20px 22px 16px;border-radius:14px;
  border:1px solid rgba(217,188,122,.32);
  background:radial-gradient(120% 130% at 50% 0%,rgba(217,188,122,.1),rgba(217,188,122,.02) 60%,transparent);}
.pan-verse h4{font-size:16px;color:var(--gold);letter-spacing:.3em;margin:0 0 12px;}
.pan-verse .pv-l{margin:0;font-size:18.5px;line-height:2;color:rgba(236,229,212,.96);letter-spacing:.18em;}
.pan-verse .pv-r{margin:10px 0 0;font-size:14.5px;color:rgba(224,214,188,.8);letter-spacing:.14em;}
.pan-verse .pv-h{margin:12px 0 0;font-size:12.5px;color:rgba(217,188,122,.5);letter-spacing:.3em;}
/* 深度参详 · 温和升级卡（基础解读全免费，付费只为想更进一步的用户） */
.upsell-card{margin-top:20px;border:1px solid rgba(217,188,122,.3);border-radius:14px;padding:16px 18px;background:linear-gradient(180deg,rgba(217,188,122,.08),rgba(217,188,122,.02));}
.upsell-card h4{font-size:18px;color:var(--gold);letter-spacing:.16em;margin:0 0 8px;}
.upsell-card h4::before{content:"◈";font-size:14px;margin-right:8px;color:var(--cinnabar);}
.upsell-card p{margin:0;font-size:15.5px;line-height:1.9;color:var(--ink-soft);letter-spacing:.04em;}
.src{margin-top:14px;font-size:15px;color:var(--ink-faint);border-left:2px solid rgba(217,188,122,.4);padding-left:12px;letter-spacing:.04em;}
.cur-note{margin-top:16px;font-size:15px;color:var(--ink-faint);border:1px dashed var(--line);border-radius:10px;padding:12px 14px;letter-spacing:.04em;line-height:1.9;}

/* ---------- 紫微盘 ---------- */
.zw-wrap{display:grid;grid-template-columns:1fr;gap:16px;}
@media(min-width:900px){.zw-wrap{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);align-items:start;}}
.zw-board{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(96px,auto);gap:3px;background:rgba(217,188,122,.12);
  border:1px solid var(--line);border-radius:12px;padding:3px;}
.zw-pal{background:rgba(10,15,27,.85);border-radius:6px;padding:8px;cursor:pointer;position:relative;min-height:96px;transition:.2s;overflow:hidden;}
.zw-pal:hover{background:rgba(20,26,40,.9);}
.zw-pal.lifepal{box-shadow:inset 0 0 0 1.5px rgba(248,110,92,.55);}
.zw-pal .pn{font-size:15px;color:var(--gold);letter-spacing:.14em;}
.zw-pal .pj{font-size:14px;color:var(--gold-soft);}
.zw-pal .stars{margin-top:6px;font-size:16px;line-height:1.65;color:var(--ink);}
.zw-pal .stars .major{color:var(--ink);}
.zw-pal .stars .mut{color:#f8786c;font-weight:700;}
.zw-pal .stars .minor{color:var(--ink-faint);font-size:14px;}
.zw-pal .range{position:absolute;right:8px;bottom:6px;font-size:14px;color:var(--gold-soft);}
.zw-center{grid-column:1/-1;grid-row:2/span 2;grid-column-start:2;grid-column-end:4;background:rgba(10,14,22,.9);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:6px;padding:8px 6px;text-align:center;}
.zw-center.zw-ghost{background:transparent;pointer-events:none;}
.zw-pal .major.borrow{color:var(--ink-dim);font-size:14px;font-weight:400;}
body.day .zw-pal .major.borrow{color:rgba(58,47,34,.5);}
.zw-center .who{font-size:20px;color:var(--gold);letter-spacing:.2em;}
.zw-center .meta{font-size:15px;color:var(--ink-faint);letter-spacing:.05em;line-height:2;}
.zw-center .juzhu{font-size:16px;color:rgba(217,188,122,.9);}
.zw-center .yz{font-size:15px;color:var(--ink);letter-spacing:.12em;}
.zw-center .c4{font-size:14px;color:var(--ink-faint);display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;line-height:1.5;}
.zw-center .c4 i{font-style:normal;color:rgba(217,188,122,.85);letter-spacing:.04em;}
.zw-center .c4 b{color:var(--ink);font-weight:600;letter-spacing:.05em;}
.zw-center .c4 u{text-decoration:none;color:var(--ink-faint);margin-right:6px;}
.zw-center .c4 u:last-child{margin-right:0;}
.zw-center .ms-line{font-size:14px;color:var(--ink-faint);letter-spacing:.05em;}
.zw-center .zw-yl-pill{font-size:14px;color:var(--gold);border:1px solid rgba(217,188,122,.45);border-radius:999px;
  padding:3px 12px;cursor:pointer;letter-spacing:.06em;background:rgba(217,188,122,.08);transition:background .2s;white-space:nowrap;max-width:100%;overflow:hidden;}
.zw-center .zw-yl-pill:hover{background:rgba(217,188,122,.18);}
.zw-center .zw-yl-pill b{font-weight:700;}
.zw-center .zw-sx-legend{font-size:14px;color:var(--ink-faint);display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;}
.zw-center .zw-sx-legend i{font-style:normal;font-weight:700;font-size:14px;}
.zw-center .zw-sx-legend .lu{color:#57b87b;}
.zw-center .zw-sx-legend .quan{color:#e8503f;}
.zw-center .zw-sx-legend .ke{color:#5aa7e8;}
.zw-center .zw-sx-legend .ji{color:#9aa4b2;}
body.day .zw-center .yz,body.day .zw-center .c4 b{color:#3a2f22;}
body.day .zw-center .c4 u,body.day .zw-center .ms-line,body.day .zw-center .zw-sx-legend span{color:rgba(58,47,34,.66);}
/* 时辰定盘 */
.btn-dp{width:100%;margin-top:12px;padding:12px 14px;border-radius:10px;border:1px dashed rgba(217,188,122,.5);
  background:rgba(217,188,122,.06);color:var(--gold);font-size:16px;letter-spacing:.06em;cursor:pointer;transition:background .2s;}
.btn-dp:hover{background:rgba(217,188,122,.14);}
.btn-dp i{font-style:normal;margin-right:6px;}
#dpMask{position:fixed;inset:0;background:rgba(4,6,12,.66);backdrop-filter:blur(4px);z-index:140;display:none;}
#dpMask.on{display:block;}
#dpModal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,94vw);max-height:86dvh;overflow-y:auto;
  background:rgba(12,16,26,.98);border:1px solid var(--line);border-radius:16px;z-index:141;display:none;padding:0 0 18px;}
#dpModal.on{display:block;animation:dpin .28s ease both;}
@keyframes dpin{from{opacity:0;transform:translate(-50%,-46%);}to{opacity:1;transform:translate(-50%,-50%);}}
.dp-head{display:flex;align-items:baseline;gap:10px;padding:18px 20px 12px;border-bottom:1px solid var(--line-soft);}
.dp-head b{font-size:19px;color:var(--gold);letter-spacing:.14em;}
.dp-head span{font-size:14px;color:var(--ink-faint);}
.dp-x{margin-left:auto;background:none;border:none;color:var(--ink-faint);font-size:22px;cursor:pointer;}
.dp-body{padding:16px 20px;}
.dp-q em{font-style:normal;font-size:14px;color:var(--cinnabar);letter-spacing:.1em;}
.dp-q h4{font-size:18px;color:var(--ink);margin:8px 0 14px;}
.dp-opts{display:grid;gap:12px;}
.dp-opts button{text-align:left;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:rgba(224,232,244,.03);
  color:var(--ink);font-size:15px;line-height:1.8;cursor:pointer;transition:border-color .2s,background .2s;}
.dp-opts button:hover{border-color:var(--gold);background:rgba(217,188,122,.08);}
.dp-opts button i{font-style:normal;display:inline-block;width:26px;height:26px;border-radius:50%;background:rgba(217,188,122,.16);
  color:var(--gold);text-align:center;line-height:26px;margin-right:10px;font-size:14px;}
.dp-opts button u{text-decoration:none;display:block;margin-top:8px;font-size:14px;color:var(--gold);opacity:.85;}
.dp-hint{margin-top:12px;font-size:14px;color:var(--ink-faint);line-height:1.8;}
.dp-skip{margin-top:14px;background:none;border:none;color:var(--ink-faint);font-size:14px;text-decoration:underline;cursor:pointer;}
.dp-done h4{font-size:18px;color:var(--gold);letter-spacing:.12em;margin-bottom:10px;}
.dp-done p{font-size:16px;color:var(--ink);line-height:2;}
.dp-done .dp-hour{color:var(--ink);font-size:17px;}
.dp-done .dp-hour b{color:var(--gold);font-size:18px;}
.dp-use{width:100%;margin-top:14px;}

/* 解读抽屉 */
#drawer{position:fixed;top:0;right:-420px;width:min(420px,92vw);height:100dvh;z-index:120;background:rgba(12,16,26,.96);
  backdrop-filter:blur(14px);border-left:1px solid var(--line);transition:right .38s cubic-bezier(.22,.9,.3,1);
  display:flex;flex-direction:column;}
#drawer.on{right:0;}
#drawer .dr-head{padding:18px 20px 12px;border-bottom:1px solid var(--line-soft);display:flex;align-items:baseline;gap:12px;}
#drawer .dr-head b{font-size:21px;color:var(--gold);letter-spacing:.2em;}
#drawer .dr-head span{font-size:15px;color:var(--ink-faint);}
#drawer .dr-close{margin-left:auto;background:none;border:none;color:var(--ink-faint);font-size:22px;}
#drawer .dr-body{flex:1;overflow-y:auto;padding:16px 20px 30px;}
#drawer .dr-sec{margin-bottom:16px;}
#drawer .dr-sec h5{font-size:16px;color:var(--gold);letter-spacing:.18em;margin-bottom:8px;}
#drawer .dr-sec h5::before{content:"—";margin-right:8px;color:var(--cinnabar);}
#drawer .dr-sec p{font-size:16px;line-height:2;color:var(--ink);}
#drawer .dr-sec .kv{font-size:16px;color:var(--ink-faint);line-height:2;}
#drawer .dr-sec .kv b{color:var(--ink);font-weight:400;}
#drawer .dr-sec .kv em{font-style:normal;color:#f8786c;}
#dmask{position:fixed;inset:0;z-index:110;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:.3s;}
#dmask.on{opacity:1;pointer-events:auto;}
@media(max-width:900px){
  #drawer{top:auto;bottom:-85dvh;height:80dvh;width:100%;right:0;border-left:none;border-top:1px solid var(--line);border-radius:18px 18px 0 0;transition:bottom .38s cubic-bezier(.22,.9,.3,1);}
  #drawer.on{bottom:0;}
}

/* ---------- 六爻 ---------- */
.ly-grid{display:grid;grid-template-columns:1fr;gap:16px;}
.coin-tray{display:flex;gap:18px;justify-content:center;margin:8px 0 14px;position:relative;}
/* 摇卦三段式动画：锦囊罩下 → 摇颤 → 上收揭开 */
.coin-tray .pouch{position:absolute;left:50%;top:-26px;width:280px;max-width:88%;z-index:3;pointer-events:none;
  transform:translate(-50%,-135%);opacity:0;visibility:hidden;
  transition:transform .5s cubic-bezier(.3,.7,.3,1),opacity .4s,visibility .4s;
  filter:drop-shadow(0 10px 14px rgba(0,0,0,.45));}
.coin-tray .pouch svg{width:100%;display:block;}
.coin-tray.covered .pouch{transform:translate(-50%,0);opacity:1;visibility:visible;}
.coin-tray.shaking .pouch{animation:pouch-shake .13s linear 8 alternate;}
@keyframes pouch-shake{from{transform:translate(-50%,0) translateX(-4px) rotate(-1.6deg);}to{transform:translate(-50%,0) translateX(4px) rotate(1.6deg);}}
.coin-tray.covered .coin{opacity:0;filter:blur(2px);transition:opacity .35s,filter .35s,transform .95s;}
/* 锦囊罩下时淡出钱盘上方的说明行，避免文字被囊体压住 */
#ly-panel-sys .coin-tip,#ly-panel-sys .mode-hint{transition:opacity .4s;}
#ly-panel-sys:has(.coin-tray.covered) .coin-tip,
#ly-panel-sys:has(.coin-tray.covered) .mode-hint{opacity:0;}
.toss-teach{min-height:22px;margin-top:10px;text-align:center;font-size:14.5px;letter-spacing:.06em;
  color:var(--gold);transition:opacity .6s;}
.toss-teach.dim{opacity:.45;}
/* 摇卦铜钱 · 方案二「紫铜沉韵」：SVG 钱体（厚郭三环+绿锈包浆），正面阴刻字层，背面光背 */
.coin{width:74px;height:74px;border-radius:50%;position:relative;display:flex;align-items:center;justify-content:center;
  transition:transform .95s cubic-bezier(.3,.7,.3,1);transform-style:preserve-3d;}
.coin .cface{position:absolute;inset:0;border-radius:50%;backface-visibility:hidden;-webkit-backface-visibility:hidden;}
.coin .cface.cf-back{transform:rotateY(180deg);}
.coin .cface svg{width:100%;height:100%;display:block;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5));}
/* 深阴刻钱文：字凹进钱面，下缘翻亮口、上缘吃暗 */
.coin .ch{position:absolute;font-size:20px;font-weight:900;line-height:1;
  font-family:"Kaiti SC",STKaiti,KaiTi,serif;color:#1c1002;
  text-shadow:0 2px 1px rgba(255,238,190,.55),0 -1.5px 1.5px rgba(8,4,0,.9),0 0 2px rgba(70,44,10,.3);}
.coin .ch.t{top:5px;left:50%;transform:translateX(-50%);}
.coin .ch.b{bottom:5px;left:50%;transform:translateX(-50%);}
.coin .ch.r{right:4px;top:50%;transform:translateY(-50%);}
.coin .ch.l{left:4px;top:50%;transform:translateY(-50%);}
@media(max-width:767px){.coin{width:64px;height:64px;}.coin .ch{font-size:18px;}}
.coin.up{transform:rotateX(1080deg) rotate(8deg);}
.coin.up.rev{transform:rotateX(1080deg) rotateY(180deg) rotate(-7deg);}
.coin-tip{text-align:center;font-size:15px;color:var(--ink-faint);letter-spacing:.1em;}
/* 摇卦区布局：说明文案在上，钱盘动画居中为主角，下方字幕+进度+按钮 */
.coin-tray{margin:8px 0 14px;}
@media(min-width:900px){
  .coin-tray{margin:14px 0 20px;}
  .coin-tray .coin{width:96px;height:96px;}
  .coin-tray .coin .ch{font-size:26px;}
  .coin-tray .coin .ch.t{top:7px;}
  .coin-tray .coin .ch.b{bottom:7px;}
  .coin-tray .coin .ch.r{right:5px;}
  .coin-tray .coin .ch.l{left:5px;}
  .coin-tray .pouch{width:356px;top:-30px;max-width:none;}
  #ly-panel-sys .coin-tip{font-size:16px;letter-spacing:.12em;}
  .toss-teach{min-height:24px;}
}
/* ---------- 摇卦仪式感 ---------- */
/* 静场：摇卦时其余区块压暗后撤，只留钱盘 */
.form-card,.ly-hero,.hex-stage,.hex-result{transition:opacity .55s ease,filter .55s ease;}
body.ritual .form-card:not(.tray-card),body.ritual .ly-hero,
body.ritual .hex-stage,body.ritual .hex-result{opacity:.2;filter:blur(1px) saturate(.65);}
/* 掷落金光（::before）与动爻朱砂晕（::after） */
.coin::before,.coin::after{content:'';position:absolute;inset:-12%;border-radius:50%;pointer-events:none;opacity:0;z-index:4;}
.coin::before{background:radial-gradient(circle,rgba(255,232,150,.55) 0%,rgba(255,232,150,0) 62%);}
.coin::after{background:radial-gradient(circle,rgba(232,80,63,.5) 0%,rgba(232,80,63,0) 62%);}
.coin.flash::before{animation:coin-flash .95s ease-out;}
.coin.mv::after{opacity:.6;animation:mv-pulse 1.7s ease-in-out infinite;}
@keyframes coin-flash{0%{opacity:0;transform:scale(.55);}16%{opacity:1;}100%{opacity:0;transform:scale(1.55);}}
@keyframes mv-pulse{0%,100%{opacity:.35;}50%{opacity:.75;}}
/* 「掷——」落定重拍 */
.toss-teach.hit{animation:teach-hit .5s ease-out;}
@keyframes teach-hit{0%{transform:scale(1.22);color:#f0dca6;}100%{transform:scale(1);}}
/* 成卦：八卦环急旋一周 + 卦名金光浮现 + 卦成朱砂印 */
body.hex-done .ly-ring{animation:emblem-burst 1.4s cubic-bezier(.16,.8,.3,1);}
@keyframes emblem-burst{0%{transform:rotate(0deg) scale(1);}55%{transform:rotate(300deg) scale(1.09);}100%{transform:rotate(360deg) scale(1);}}
.hex-name.burst{animation:hex-glow 1.5s ease-out;}
@keyframes hex-glow{0%{opacity:.15;letter-spacing:.55em;text-shadow:0 0 0 rgba(217,188,122,0);}60%{opacity:1;text-shadow:0 0 34px rgba(240,220,166,.75);}100%{opacity:1;text-shadow:0 0 24px rgba(217,188,122,.35);}}
.hex-stamp{margin:16px auto 0;width:60px;height:60px;border:2px solid #e8503f;border-radius:9px;
  display:flex;align-items:center;justify-content:center;color:#e8503f;font-size:21px;font-weight:700;
  letter-spacing:.14em;text-indent:.14em;transform:rotate(-6deg);opacity:.92;
  box-shadow:inset 0 0 0 1px rgba(232,80,63,.28);animation:stamp-in .5s cubic-bezier(.2,1.5,.4,1);}
@keyframes stamp-in{0%{opacity:0;transform:rotate(-15deg) scale(1.9);}100%{opacity:.92;transform:rotate(-6deg) scale(1);}}
@media (prefers-reduced-motion:reduce){
  .coin.flash::before,.toss-teach.hit,body.hex-done .ly-ring,.hex-name.burst,.hex-stamp{animation:none;}
  .coin.mv::after{animation:none;opacity:.6;}
}
.yao-rows{margin-top:14px;display:flex;flex-direction:column;gap:10px;}
.yao-row{display:flex;align-items:center;gap:10px;}
.yao-row .yn{width:44px;font-size:15px;color:rgba(217,188,122,.9);letter-spacing:.1em;flex-shrink:0;}
.yao-row .seg{flex:1;display:flex;gap:8px;}
.yao-row .seg button{flex:1;background:rgba(8,12,22,.5);border:1px solid var(--line);border-radius:8px;color:var(--ink-faint);font-size:16px;padding:8px 4px;letter-spacing:.05em;}
.yao-row .seg button.on{background:rgba(217,188,122,.18);border-color:var(--gold);color:var(--gold);}
.toss-bar{display:flex;gap:12px;justify-content:center;margin-top:16px;flex-wrap:wrap;}
/* 六爻 hero：八卦环图腾（神秘感 · 低密度） */
.ly-hero{position:relative;text-align:center;padding:30px 0 6px;}
.ly-hero::before{content:'';position:absolute;left:50%;top:6px;width:300px;height:300px;transform:translateX(-50%);
  background:radial-gradient(circle,rgba(217,188,122,.14) 0%,rgba(217,188,122,.05) 42%,transparent 68%);pointer-events:none;}
.ly-emblem{position:relative;width:176px;height:176px;display:block;margin:0 auto;filter:drop-shadow(0 0 18px rgba(217,188,122,.18));}
.ly-ring{transform-box:view-box;transform-origin:center;animation:ly-spin 90s linear infinite;}
@keyframes ly-spin{to{transform:rotate(360deg);}}
/* 图腾动效：八卦逐组流转光 · 中央呼吸 · 朱砂脉动声波 · 内环反转 · 星子明灭 */
.ly-tri{animation:tri-glow 7.2s ease-in-out infinite;}
@keyframes tri-glow{0%,100%{opacity:.5;}50%{opacity:1;}}
.ly-core{transform-box:view-box;transform-origin:center;animation:core-breath 5.6s ease-in-out infinite;}
@keyframes core-breath{0%,100%{filter:drop-shadow(0 0 2px rgba(217,188,122,.25));}50%{filter:drop-shadow(0 0 10px rgba(217,188,122,.65));}}
.ly-moon{transform-box:fill-box;transform-origin:center;animation:moon-pulse 3.2s ease-in-out infinite;}
@keyframes moon-pulse{0%,100%{transform:scale(1);opacity:.95;}50%{transform:scale(1.4);opacity:1;filter:drop-shadow(0 0 4px rgba(232,80,63,.85));}}
.ly-sonar{transform-box:fill-box;transform-origin:center;animation:sonar-out 3.2s ease-out infinite;}
@keyframes sonar-out{0%{transform:scale(1);opacity:.75;}70%,100%{transform:scale(3.4);opacity:0;}}
.ly-dash{transform-box:view-box;transform-origin:center;animation:ly-spin-rev 64s linear infinite;}
@keyframes ly-spin-rev{to{transform:rotate(-360deg);}}
.ly-star{animation:star-tw 4.2s ease-in-out infinite;}
@keyframes star-tw{0%,100%{opacity:.12;}50%{opacity:.95;}}
.ly-hero-title{position:relative;font-size:34px;font-weight:700;letter-spacing:.22em;color:var(--gold);margin:8px 0 0;text-indent:.22em;
  text-shadow:0 0 24px rgba(217,188,122,.25);animation:title-glow 6s ease-in-out infinite;}
@keyframes title-glow{0%,100%{text-shadow:0 0 24px rgba(217,188,122,.25);}50%{text-shadow:0 0 38px rgba(217,188,122,.5);}}
@media (prefers-reduced-motion:reduce){
  .ly-ring,.ly-tri,.ly-core,.ly-moon,.ly-sonar,.ly-dash,.ly-star,.ly-hero-title{animation:none;}
}
.ly-hero-kicker{position:relative;font-size:13.5px;letter-spacing:.5em;color:var(--gold-soft);margin-top:12px;text-indent:.5em;}
.ly-hero-sub{position:relative;font-size:15px;color:var(--ink-faint);letter-spacing:.1em;margin-top:10px;}

/* 起局页英雄罗盘（奇门·洛书 / 六壬·地支环）：悬停互动 */
.qmh-orb{position:relative;width:152px;height:152px;margin:0 auto 10px;transition:transform .7s cubic-bezier(.2,.85,.25,1);}
.qmh-ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(217,188,122,.4);animation:ly-spin 70s linear infinite;}
.qmh-ring::before{content:'';position:absolute;inset:9px;border-radius:50%;border:1px dashed rgba(217,188,122,.3);animation:ly-spin-rev 46s linear infinite;}
.qmh-ticks{position:absolute;inset:-7px;border-radius:50%;pointer-events:none;opacity:.5;transition:opacity .6s,filter .6s;
  background:repeating-conic-gradient(from 0deg,rgba(217,188,122,.85) 0deg 1deg,transparent 1deg 15deg);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 6px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 6px));
  animation:ly-spin 90s linear infinite reverse;}
.qmh-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--kai);
  font-size:46px;line-height:1;color:var(--gold);text-shadow:0 0 18px rgba(217,188,122,.35);
  transition:transform .6s,text-shadow .6s;}
.qmh-core::after{content:'';position:absolute;left:50%;top:50%;width:66px;height:66px;border-radius:50%;
  border:1px solid rgba(217,188,122,.35);transform:translate(-50%,-50%);transition:width .6s,height .6s,border-color .6s,box-shadow .6s;}
.qmh-ls{position:absolute;inset:22px;display:grid;grid-template-columns:repeat(3,1fr);}
.qmh-ls span{display:flex;align-items:center;justify-content:center;font-family:var(--kai);font-size:17px;line-height:1;
  color:rgba(217,188,122,.5);
  transition:opacity .5s ease,transform .5s ease,color .5s ease,text-shadow .5s ease;transition-delay:var(--hi,0ms);}
body.day .qmh-ls span{color:rgba(122,96,40,.6);}
.qmh-dzring{position:absolute;inset:0;transition:transform 1.4s cubic-bezier(.25,.8,.25,1);}
.qmh-dzring i{position:absolute;left:50%;top:50%;font-style:normal;font-size:14px;line-height:1;color:rgba(217,188,122,.55);
  transform:translate(-50%,-50%) rotate(var(--ha)) translateY(-62px) rotate(calc(-1 * var(--ha)));
  transition:color .5s ease,text-shadow .5s ease;transition-delay:var(--hi,0ms);}
body.day .qmh-dzring i{color:rgba(122,96,40,.55);}
/* 悬停：罗盘放大 · 刻度燃亮 · 洛书数浮起 · 地支环偏转 · 核心字镀金 */
.qm-hero:hover .qmh-orb{transform:scale(1.06);}
.qm-hero:hover .qmh-ticks{opacity:1;filter:drop-shadow(0 0 5px rgba(217,188,122,.55));}
.qm-hero:hover .qmh-core{transform:translate(-50%,-50%) scale(1.12);
  text-shadow:0 0 26px rgba(217,188,122,.75),0 0 60px rgba(217,188,122,.3);}
.qm-hero:hover .qmh-core::after{width:92px;height:92px;border-color:rgba(217,188,122,.6);
  box-shadow:inset 0 0 22px rgba(217,188,122,.25);}
.qm-hero:hover .qmh-ls span{opacity:1;color:var(--gold);text-shadow:0 0 10px rgba(217,188,122,.55);transform:translateY(-2px);}
.qm-hero:hover .qmh-dzring{transform:rotate(15deg);}
.qm-hero:hover .qmh-dzring i{color:var(--gold);text-shadow:0 0 9px rgba(217,188,122,.6);}
/* 标题鎏光扫过 */
.qm-hero .ly-hero-title{text-shadow:none;
  background:linear-gradient(110deg,var(--gold) 42%,#ffe9bd 50%,var(--gold) 58%);background-size:240% 100%;background-position:100% 0;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.qm-hero:hover .ly-hero-title{animation:qmh-sheen 1.5s ease;}
@keyframes qmh-sheen{from{background-position:100% 0;}to{background-position:0% 0;}}
/* 触屏无悬停：核心字常驻幽微脉动 */
@keyframes qmh-pulse{0%,100%{transform:translate(-50%,-50%) scale(1);text-shadow:0 0 14px rgba(217,188,122,.3);}
  50%{transform:translate(-50%,-50%) scale(1.05);text-shadow:0 0 26px rgba(217,188,122,.6);}}
@media (hover:none){
  .qmh-core{animation:qmh-pulse 5s ease-in-out infinite;}
  .qmh-ticks{opacity:.7;}
}
@media (prefers-reduced-motion:reduce){
  .qmh-ring,.qmh-ring::before,.qmh-ticks,.qm-hero:hover .ly-hero-title,.qmh-core{animation:none;}
  .qm-hero:hover .qmh-orb,.qm-hero:hover .qmh-core{transition:none;}
}
@media(max-width:767px){.ly-emblem{width:148px;height:148px;}.ly-hero{padding-top:22px;}.ly-hero-title{font-size:29px;}}
/* 起卦方式三选一 + 起卦时间（参考青囊流程） */
.ly-modes{margin-top:8px;}
.ly-modes button{flex:1;min-width:0;padding:9px 6px;}
.ly-modes button b{display:block;font-size:15.5px;letter-spacing:.02em;white-space:nowrap;}
.ly-modes button i{display:block;font-style:normal;font-size:12.5px;opacity:.72;margin-top:3px;letter-spacing:.02em;}
.cast-time{margin-top:14px;padding:12px 14px;border:1px dashed rgba(217,188,122,.35);border-radius:10px;font-size:15px;color:var(--ink-soft);display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.cast-time>span{letter-spacing:.1em;color:var(--ink-faint);}
.cast-time b{color:var(--gold);font-weight:600;}
.ct-fix{padding:4px 12px;font-size:14px;}
.ct-inp{width:auto;padding:5px 10px;font-size:15px;color:var(--ink);}
.ct-ok{padding:5px 14px;font-size:14px;}
@media(max-width:767px){.cast-time{font-size:14.5px;}.ly-modes button i{font-size:13px;}}

.hex-stage{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:var(--radius);padding:22px;text-align:center;}
.hex-name{font-size:30px;color:var(--gold);letter-spacing:.3em;min-height:44px;opacity:0;transition:opacity .8s;}
.hex-name.on{opacity:1;text-shadow:0 0 24px rgba(217,188,122,.35);}
.hex-sub{font-size:15px;color:var(--ink-faint);letter-spacing:.1em;}
.hex-stack{margin:18px auto 6px;display:flex;flex-direction:column-reverse;gap:12px;max-width:240px;}
.yao-line{position:relative;height:9px;}
.yao-line .bar.ph{transform:none;background:rgba(217,188,122,.08);border:1px dashed rgba(217,188,122,.28);box-sizing:border-box;transition:background .4s,border-color .4s;}
.yao-line .bar{height:9px;border-radius:4px;background:linear-gradient(100deg,#e9cf96,#d9bc7a);transform-origin:left center;transform:scaleX(0);transition:transform .6s cubic-bezier(.3,.8,.3,1);}
.yao-line.yin .bar{background:none;}
.yao-line.yin .bar::before,.yao-line.yin .bar::after{content:"";position:absolute;top:0;height:9px;border-radius:4px;background:linear-gradient(100deg,#e9cf96,#d9bc7a);}
.yao-line.yin .bar::before{left:0;width:40%;transform-origin:left;transform:scaleX(0);transition:transform .6s;}
.yao-line.yin .bar::after{right:0;width:40%;transform-origin:left;transform:scaleX(0);transition:transform .6s;}
.yao-line.grown .bar{transform:scaleX(1);}
.yao-line.yin.grown .bar::before,.yao-line.yin.grown .bar::after{transform:scaleX(1);}
.yao-line .mark{position:absolute;top:-11px;font-size:18px;color:var(--cinnabar);font-weight:700;opacity:0;transition:opacity .5s;}
.yao-line .mark.o{left:-30px;} .yao-line .mark.x{left:-30px;}
.yao-line.moving .mark{opacity:1;}

.hex-result{display:none;background:linear-gradient(160deg,rgba(48,38,20,.5),rgba(20,16,10,.7));
  border:1px solid rgba(217,188,122,.4);border-radius:var(--radius);padding:24px;text-align:center;margin-top:16px;}
.hex-result.on{display:block;animation:rise .7s forwards;}
.hr-seal{display:inline-flex;align-items:center;justify-content:center;width:84px;height:84px;border:2px solid rgba(248,110,92,.7);
  border-radius:50%;color:#f8786c;font-size:16px;letter-spacing:.24em;text-indent:.24em;line-height:1.5;transform:rotate(-6deg);}
/* 印章重做：双框印泥式方印，2×2 楷体印文，微倾钤印 */
.hr-seal2{display:grid;grid-template-columns:1fr 1fr;place-items:center;width:76px;height:76px;margin:0 auto;padding:9px;border-radius:11px;transform:rotate(-4deg);position:relative;
  background:radial-gradient(130% 130% at 32% 26%,rgba(232,80,63,.3),rgba(176,45,30,.17) 58%,rgba(118,28,18,.12));
  box-shadow:0 0 0 1.5px rgba(232,80,63,.8),inset 0 0 0 1px rgba(248,120,108,.3),0 3px 14px rgba(232,80,63,.28);}
.hr-seal2::before{content:'';position:absolute;inset:4px;border:1px solid rgba(248,120,108,.55);border-radius:8px;pointer-events:none;}
.hr-seal2 i{font-style:normal;font-family:var(--kai);font-size:20px;font-weight:700;color:#f68f78;line-height:1;text-shadow:0 0 7px rgba(232,80,63,.45);}
.hex-result>b{display:block;font-size:30px;color:var(--gold);letter-spacing:.3em;margin-top:14px;text-shadow:0 0 22px rgba(217,188,122,.3);}
.hr-sub{font-size:15px;color:var(--ink-faint);letter-spacing:.1em;margin-top:8px;}
/* 此卦象为：X —— 成卦明示句（朱砂让位于金） */
.hr-callout{margin-top:12px;font-size:17.5px;color:var(--warm-tx);letter-spacing:.08em;}
.hr-callout b{color:var(--gold);font-size:20px;letter-spacing:.14em;margin:0 2px;text-shadow:0 0 10px rgba(217,188,122,.3);}
.hr-callout .hc-zhi{color:var(--warm-dim);}
.hr-callout .hc-zhi b{font-size:18px;color:#e8b96a;}
.hr-no{font-size:15px;color:#d9b06a;letter-spacing:.12em;margin-top:10px;}
.jie-box{margin-top:16px;text-align:left;background:rgba(8,12,22,.5);border:1px solid var(--line-soft);border-radius:12px;padding:18px;}
.follow-wrap{display:none;margin-top:14px;}
.follow-wrap.on{display:block;}
.follow-row{display:flex;gap:10px;}
.follow-row input{flex:1;background:rgba(8,12,22,.6);border:1px solid var(--line);border-radius:99px;color:var(--ink);padding:11px 18px;font-size:16px;outline:none;}
.follow-row button{background:none;border:1px solid var(--gold);color:var(--gold);border-radius:99px;padding:0 24px;font-size:16px;letter-spacing:.2em;}
.follow-note{margin-top:8px;font-size:14px;color:var(--ink-faint);text-align:center;letter-spacing:.08em;}

/* 装卦表 */
.nz-table{width:100%;border-collapse:collapse;font-size:15.5px;margin-top:8px;}
.nz-table th{font-size:14.5px;color:rgba(217,188,122,.9);font-weight:400;letter-spacing:.12em;padding:7px 4px;border-bottom:1px solid var(--line-soft);}
.nz-table td{text-align:center;padding:7px 4px;color:var(--ink);border-bottom:1px solid rgba(217,188,122,.08);letter-spacing:.04em;}
.nz-table tr.shi td{color:#f8786c;}
.nz-table tr.move td{color:var(--gold);}
.nz-table .yno{color:rgba(217,188,122,.85);}

/* ---------- 课程 ---------- */
.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;}
.course-card{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);padding:24px 20px;}
.course-card .lv{font-size:14px;color:var(--cinnabar);letter-spacing:.3em;}
.course-card b{display:block;font-size:20px;color:var(--ink);letter-spacing:.16em;margin:10px 0;}
.course-card p{font-size:16px;color:var(--ink-faint);line-height:2;letter-spacing:.03em;}
.course-card .price{margin-top:14px;font-size:17px;color:var(--gold);letter-spacing:.1em;}

/* ---------- 古籍馆 ---------- */
.yj-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;}
.yj-item{background:var(--panel);border:1px solid var(--line-soft);border-radius:10px;padding:12px 6px;text-align:center;cursor:pointer;transition:.2s;}
.yj-item:hover{border-color:var(--gold);transform:translateY(-2px);}
.yj-item .sym{font-size:24px;color:var(--gold);}
.yj-item b{display:block;font-size:17px;color:var(--ink);margin-top:6px;letter-spacing:.1em;}
.yj-item i{display:block;font-style:normal;font-size:14px;color:var(--ink-faint);}
.yj-detail .gua-sym{font-size:56px;color:var(--gold);text-align:center;margin:6px 0;}
.yj-detail h3{text-align:center;font-size:26px;color:var(--gold);letter-spacing:.3em;}
.yj-detail .guaci{text-align:center;font-size:18px;color:var(--ink);margin:14px 0;letter-spacing:.06em;line-height:2;}
.yj-detail .yaoci{border-top:1px solid var(--line-soft);padding-top:12px;margin-top:12px;}
.yj-detail .yaoci p{font-size:17px;line-height:2.1;margin-bottom:8px;color:var(--ink);}
.yj-detail .yaoci p em{font-style:normal;color:var(--gold);margin-right:10px;}

/* ---------- 页脚 ---------- */
footer{position:relative;z-index:10;margin-top:60px;border-top:1px solid var(--line-soft);
  padding:26px 20px calc(26px + env(safe-area-inset-bottom));text-align:center;}
footer p{font-size:14.5px;color:var(--ink-faint);letter-spacing:.08em;line-height:2;}
footer .icp{font-size:14px;color:var(--gold-soft);margin-top:8px;letter-spacing:.1em;}
/* 页脚辅助链接（联系我们 / 服务条款 / 隐私政策）——2026-10-14 增：
   备案与《电子商务法》要求公示经营主体与联系方式，且支付售后需要明确出口 */
footer .fnav{margin-top:12px;font-size:13.5px;letter-spacing:.14em;color:var(--ink-faint);
  display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:2px;}
footer .fnav a{color:var(--gold-soft);text-decoration:none;border-bottom:1px solid rgba(217,188,122,.3);padding-bottom:1px;}
footer .fnav a:hover{color:var(--gold);}
footer .fnav i{font-style:normal;margin:0 9px;opacity:.4;}
body.day footer .fnav a{color:rgba(122,96,40,.95);border-bottom-color:rgba(122,96,40,.35);}

/* ---------- 打印成卷 ---------- */
#printRoot{display:none;}
/* 详细结果页（屏显版参详卷） */
.scr-scroll{max-width:720px;margin:0 auto;}
.scr-head{text-align:center;padding:26px 0 6px;}
.scr-kick{font-size:13.5px;letter-spacing:.4em;color:var(--cinnabar);}
.scr-head h2{font-family:var(--kai);font-size:34px;letter-spacing:.3em;color:var(--gold);margin:10px 0 6px;}
.scr-no{font-size:14.5px;color:var(--ink-faint);letter-spacing:.14em;}
.scr-sec{font-size:18px;color:var(--gold);letter-spacing:.2em;margin:0 0 10px;}
.scr-sec::before{content:"◆";font-size:12px;margin-right:10px;color:var(--cinnabar);}
.scr-ask{font-size:17.5px;line-height:1.95;color:var(--ink);letter-spacing:.04em;}
.scr-meta{margin-top:8px;font-size:14.5px;color:var(--ink-faint);letter-spacing:.08em;}
.scr-hexname{text-align:center;font-size:16.5px;color:var(--gold);letter-spacing:.14em;margin-top:8px;}
.scr-btns{text-align:center;margin-top:20px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.scr-foot{text-align:center;margin:18px 0 8px;font-size:13.5px;color:var(--ink-faint);letter-spacing:.06em;}
@media print{
  body{background:#f7f2e6;color:#2a2418;}
  .topbar,.m-tabbar,#sky,#view,footer,#wipe,#loading,#drawer,#dmask{display:none!important;}
  #printRoot{display:block;}
  #printRoot .p-page{page-break-after:always;padding:20px 8mm;}
  #printRoot h1{font-family:var(--kai);text-align:center;font-size:34px;letter-spacing:.4em;margin:34px 0 8px;color:#2a2418;}
  #printRoot .p-no{text-align:center;font-size:15px;color:#7a6434;letter-spacing:.14em;margin-top:6px;}
  #printRoot .p-sec{margin-top:22px;font-size:17px;}
  #printRoot .p-sec h3{font-size:18px;letter-spacing:.2em;border-left:3px solid #b04a38;padding-left:10px;margin-bottom:10px;color:#2a2418;}
  #printRoot p,#printRoot td,#printRoot th{font-size:16px;line-height:2;color:#2a2418;}
  #printRoot table{width:100%;border-collapse:collapse;}
  #printRoot th,#printRoot td{border:1px solid #c9b98c;padding:6px 4px;text-align:center;}
  #printRoot .p-end{text-align:center;font-size:14.5px;color:#7a6434;margin-top:26px;line-height:2;}
}

/* 动效降级 */
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
  .yao-line .bar,.yao-line.yin .bar::before,.yao-line.yin .bar::after{transform:scaleX(1)!important;}
}

/* ============================================================
   独立结果页（#/result/*）：结果带 + 命宫详析 + 专题五卡 + 盘面结构
   ============================================================ */
.res-hero{margin-top:26px;padding:26px 0 8px;border-bottom:1px solid var(--line-soft);}
.res-back{display:inline-block;font-size:15px;color:var(--ink-faint);cursor:pointer;letter-spacing:.08em;padding:6px 0;transition:.2s;}
.res-back:hover{color:var(--gold);}
.res-hero .entry-kicker{margin-top:14px;}
.res-title{margin-top:10px;font-size:clamp(34px,4.6vw,50px);line-height:1.25;letter-spacing:.06em;font-weight:700;color:var(--ink);}
.res-badges{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px;}
.res-note{margin-top:12px;font-size:14.5px;color:var(--ink-faint);letter-spacing:.05em;}
/* 命宫详析 / 通识行 */
.rs-pal-line{font-size:17px;color:var(--gold);letter-spacing:.06em;margin-bottom:12px;font-weight:700;display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
.rs-pal-line .kw-row{display:inline-flex;gap:6px;flex-wrap:wrap;font-weight:400;}
.kw{font-style:normal;font-size:13.5px;color:var(--gold);border:1px solid rgba(217,188,122,.45);border-radius:999px;padding:2px 10px;letter-spacing:.08em;background:rgba(217,188,122,.07);}
.rs-star{color:var(--gold);font-size:16.5px;letter-spacing:.06em;}
.rs-star i{font-style:normal;color:var(--ink-faint);font-size:14.5px;}
.rs-mut{font-style:normal;color:var(--cinnabar);font-size:14.5px;letter-spacing:.04em;}
/* 五域详页深读层（对标参考站饱满度） */
.dim-star{margin-top:16px;padding-bottom:6px;font-size:17px;border-bottom:1px dashed var(--line-soft);}
.dim-star .rs-star{font-size:18px;}
.dim-deep{margin-top:9px;}
.dim-deep u{display:block;text-decoration:none;font-size:14.5px;color:var(--gold);letter-spacing:.08em;margin-bottom:2px;}
.rt-body .dim-deep{color:var(--ink);opacity:.94;}
.dim-stat{margin-top:12px;padding:11px 14px;border-radius:10px;background:rgba(217,188,122,.08);border-left:3px solid var(--gold);color:var(--ink);}
.dim-link{margin-top:14px;padding:11px 14px;border-radius:10px;background:rgba(120,150,220,.07);border:1px solid var(--line-soft);}
.dim-link b{display:block;font-size:14.5px;color:var(--ink-faint);letter-spacing:.12em;margin-bottom:4px;}
.dim-link p{margin-top:6px;font-size:15.5px;line-height:1.85;opacity:.88;}
.rs-borrow{color:var(--ink-faint);font-size:15px;}
/* 专题五卡 */
.res-topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-top:16px;}
.res-topic{background:var(--panel);border:1px solid var(--line-soft);border-radius:14px;padding:18px;}
.rt-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px dashed var(--line-soft);}
.rt-ic{flex:none;width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  font-size:19px;color:#1a1408;background:linear-gradient(135deg,#b98f42,#e9cf96);font-family:var(--kai);}
.rt-head b{display:block;font-size:17.5px;color:var(--ink);letter-spacing:.1em;}
.rt-head span{display:block;font-size:14px;color:var(--ink-faint);margin-top:2px;letter-spacing:.05em;}
.rt-body p{font-size:18px;line-height:2;color:var(--ink);opacity:.92;margin-bottom:8px;}
.rt-body p:last-child{margin-bottom:0;}
/* 三方四正 */
.sf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:10px;}
.sf-item{background:rgba(217,188,122,.05);border:1px solid var(--line-soft);border-radius:10px;padding:12px 14px;}
.sf-item b{display:block;font-size:15.5px;color:var(--gold);letter-spacing:.12em;}
.sf-item span{display:block;font-size:14.5px;color:var(--ink);margin-top:5px;opacity:.88;line-height:1.7;}
/* 四化 */
.sh-row{display:flex;gap:12px;align-items:flex-start;margin-top:10px;}
.sh-tag{flex:none;width:56px;text-align:center;font-size:14.5px;letter-spacing:.14em;border-radius:8px;padding:4px 0;color:#1a1408;font-weight:700;}
.sh-tag.禄{background:linear-gradient(135deg,#7fb069,#b7d9a5);}
.sh-tag.权{background:linear-gradient(135deg,#e8503f,#f08a7a);color:#fff;}
.sh-tag.科{background:linear-gradient(135deg,#5b8db8,#9dc0dd);color:#fff;}
.sh-tag.忌{background:linear-gradient(135deg,#6b6455,#8f8877);color:#fff;}
.sh-val{font-size:15.5px;color:var(--ink);line-height:1.9;opacity:.92;}
/* 大限 */
.dy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-top:10px;}
.dy-item{background:rgba(217,188,122,.05);border:1px solid var(--line-soft);border-radius:10px;padding:11px 14px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.dy-item b{font-size:15px;color:var(--gold);letter-spacing:.04em;}
.dy-item span{font-size:15px;color:var(--ink);opacity:.9;}
.dy-item i{font-style:normal;font-size:14px;color:var(--ink-faint);}
.dy-item.now{border-color:var(--gold);background:rgba(217,188,122,.13);box-shadow:0 0 0 1px rgba(217,188,122,.25) inset;}
/* 十二宫格 */
.pg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-top:10px;}
.pg-item{background:rgba(217,188,122,.05);border:1px solid var(--line-soft);border-radius:10px;padding:11px 13px;cursor:pointer;transition:.2s;}
.pg-item:hover{border-color:var(--gold);background:rgba(217,188,122,.12);transform:translateY(-2px);}
.pg-item b{display:block;font-size:15.5px;color:var(--gold);letter-spacing:.12em;}
.pg-item span{display:block;font-size:13.5px;color:var(--ink-faint);margin-top:2px;letter-spacing:.06em;}
.pg-item i{display:block;font-style:normal;font-size:14px;color:var(--ink);margin-top:5px;opacity:.85;}
.wx-note{margin-top:8px;font-size:14.5px;color:var(--ink-faint);letter-spacing:.05em;}
body.day .res-topic{background:rgba(255,252,244,.8);}
body.day .sf-item,body.day .dy-item,body.day .pg-item{background:rgba(255,252,244,.6);}
@media(max-width:640px){
  .res-hero{padding-top:14px;}
  .res-title{font-size:30px;}
  .res-topics{grid-template-columns:1fr;}
  .pg-grid{grid-template-columns:1fr 1fr;}
  .rt-body p{font-size:17px;}
}

/* ============================================================
   起盘页（设计稿 v8 版式）：左题栏 + 最近命盘 + 右表单卡
   ============================================================ */
.entry-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,470px);
  grid-template-areas:"meta form" "recent form";gap:0 56px;margin-top:22px;align-items:start;}
.entry-meta{grid-area:meta;padding-top:72px;}
.entry-kicker{font-size:14px;letter-spacing:.38em;color:rgba(217,188,122,.85);}
.entry-title{margin-top:16px;font-size:clamp(40px,5vw,58px);line-height:1.22;letter-spacing:.06em;
  font-weight:700;color:var(--ink);}
.entry-sub{margin-top:14px;font-size:17px;color:var(--ink-faint);letter-spacing:.16em;}
.entry-div{margin-top:36px;border-top:1px solid var(--line-soft);}
.entry-form-col{grid-area:form;}
.entry-form-col .form-card{margin-top:0;padding:26px 26px 28px;}
.entry-recent{grid-area:recent;margin-top:8px;padding-bottom:40px;}
.recent-head{display:flex;justify-content:space-between;align-items:baseline;margin-top:22px;}
.recent-head span:first-child{font-size:16px;letter-spacing:.16em;color:var(--gold);}
.recent-head em{font-style:normal;font-size:14px;color:var(--ink-faint);margin-left:4px;}
.recent-head .rc-saved{font-size:14px;color:var(--ink-faint);letter-spacing:.08em;}
.recent-item{display:flex;align-items:center;gap:12px;padding:15px 4px;border-bottom:1px solid var(--line-soft);
  cursor:pointer;transition:.2s;}
.recent-item:hover{padding-left:10px;border-bottom-color:var(--line);}
.recent-item .ri-main b{display:block;font-size:16.5px;font-weight:700;letter-spacing:.06em;color:var(--ink);}
.recent-item .ri-main i{display:block;font-style:normal;font-size:14px;color:var(--ink-faint);margin-top:3px;letter-spacing:.04em;}
.recent-item .ri-arrow{margin-left:auto;font-size:18px;color:var(--ink-faint);}
.recent-item:hover .ri-arrow{color:var(--gold);}
.rc-empty{padding:16px 2px;font-size:15px;color:var(--ink-faint);letter-spacing:.06em;}
.rc-clear{margin-top:14px;background:none;border:none;color:var(--ink-faint);font-size:14.5px;
  letter-spacing:.14em;cursor:pointer;transition:.2s;font-family:inherit;}
.rc-clear:hover{color:var(--gold);}

/* 表单卡内部 */
.ef-cap{text-align:center;font-size:19px;letter-spacing:.26em;color:var(--gold);margin-bottom:8px;}
.ef-label{display:block;font-size:15.5px;letter-spacing:.08em;color:var(--ink);margin:18px 0 8px;}
.ef-ask-h{font-size:14px;color:var(--ink-faint);margin-left:8px;letter-spacing:.03em;}
.ef-lrow{display:flex;justify-content:space-between;align-items:center;margin-top:18px;}
.ef-lrow .ef-label{margin:0;}
.cal-seg{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;}
.cal-seg button{background:none;border:none;color:var(--ink-faint);font-size:14.5px;padding:5px 14px;
  letter-spacing:.08em;cursor:pointer;font-family:inherit;transition:.2s;}
.cal-seg button.on{background:rgba(217,188,122,.18);color:var(--gold);}
.ymd-row{display:flex;gap:10px;margin-top:0;}
.ymd-row .inp{flex:1;min-width:0;}
.time-panel{background:rgba(217,188,122,.07);border:1px solid var(--line-soft);border-radius:12px;padding:14px;}
.time-panel .ymd-row{margin-top:0;}
.time-panel select.inp:disabled{opacity:.45;}
.hour-chip{display:flex;align-items:center;gap:14px;margin-top:12px;}
.hc-char{width:46px;height:46px;flex:none;border-radius:50%;border:1.5px dashed var(--gold-d);
  display:flex;align-items:center;justify-content:center;font-size:21px;color:var(--gold);}
.hc-txt{font-size:15px;color:var(--ink-faint);letter-spacing:.04em;line-height:1.7;}
.hc-txt b{color:var(--gold);font-weight:400;}
.chk{display:flex;align-items:center;gap:9px;margin-top:14px;font-size:15px;color:var(--ink-faint);
  cursor:pointer;letter-spacing:.03em;line-height:1.6;}
.chk input{width:16px;height:16px;flex:none;accent-color:var(--gold-d);cursor:pointer;}
.gender-seg{display:flex;gap:12px;}
.gender-seg button{flex:1;background:rgba(8,12,22,.5);border:1px solid var(--line);border-radius:10px;
  color:var(--ink-faint);font-size:17px;padding:12px 0;letter-spacing:.2em;transition:.2s;font-family:inherit;cursor:pointer;}
.gender-seg button:hover{border-color:var(--gold);}
.gender-seg button.on{background:rgba(217,188,122,.16);border-color:var(--gold);color:var(--gold);}
.btn-cast{display:block;width:100%;margin-top:24px;background:#211b12;color:#f2e7cd;border:none;border-radius:99px;
  padding:15px 0;font-size:18px;letter-spacing:.16em;font-weight:700;font-family:inherit;cursor:pointer;
  box-shadow:0 8px 26px rgba(0,0,0,.35);transition:.25s;}
.btn-cast:hover{background:#2e2517;box-shadow:0 8px 34px rgba(217,188,122,.22);}
.btn-cast:active{transform:scale(.98);}
@media(max-width:900px){
  .entry-grid{grid-template-columns:1fr;grid-template-areas:"meta" "form" "recent";gap:0;}
  .entry-meta{padding-top:10px;}
  .entry-title{font-size:32px;}
  .entry-div{margin-top:20px;}
  .entry-form-col .form-card{margin-top:18px;padding:22px 18px 24px;}
  .entry-recent{margin-top:6px;}
}

/* 起盘页 · 昼空适配 */
body.day .entry-kicker{color:rgba(122,96,40,.9);}
body.day .cal-seg{background:rgba(255,252,244,.6);}
body.day .cal-seg button.on{background:rgba(122,96,40,.14);}
body.day .time-panel{background:rgba(122,96,40,.06);}
body.day .gender-seg button{background:rgba(255,252,244,.65);}
body.day .gender-seg button.on{background:rgba(122,96,40,.14);}
body.day .recent-item:hover{border-bottom-color:rgba(122,96,40,.4);}
body.day .hc-txt b{color:#8a6a2e;}

/* ============================================================
   出生地点：省/市/县(区) 三级联动（本地数据，零网络）
   ============================================================ */
.place-row{display:grid;grid-template-columns:1.1fr 1fr 1.2fr;gap:6px;}
.place-row select.inp{min-width:0;padding:9px 8px;font-size:15px;background:rgba(8,12,22,.55);}
.place-row select.inp:disabled{opacity:.45;}
body.day .place-row select.inp{background:rgba(255,252,244,.78);}
@media(max-width:640px){
  .place-row{grid-template-columns:1fr 1fr;}
  .place-row select[id$="bf_dist"]{grid-column:1 / -1;}
}

/* ============================================================
   紫微合盘：关系 chips + 甲/乙双表单 + 双盘对照
   ============================================================ */
.hp-rel-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px;}
.hp-rel-lbl{font-size:15px;color:var(--ink-faint);letter-spacing:.12em;white-space:nowrap;}
.hp-rel-chips{display:flex;gap:8px;flex-wrap:wrap;}
.hp-rel-chips button{background:rgba(217,188,122,.06);border:1px solid var(--line);border-radius:999px;
  color:var(--ink);font-size:15.5px;padding:7px 20px;cursor:pointer;letter-spacing:.06em;font-family:inherit;transition:.2s;}
.hp-rel-chips button:hover{border-color:var(--gold);}
.hp-rel-chips button.on{background:var(--ink);color:#0b0e13;border-color:var(--ink);font-weight:600;}
body.day .hp-rel-chips button.on{background:#2a2620;color:#fdfaf2;}
.hp-disc{margin-top:10px;font-size:14px;color:var(--ink-faint);letter-spacing:.04em;}
.hp-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:16px;align-items:start;}
.hp-tag{font-size:16px;letter-spacing:.24em;color:var(--gold);margin-bottom:10px;font-weight:600;}
.hp-cast{width:auto;padding:14px 60px;font-size:17px;letter-spacing:.14em;}
.hp-result{margin-top:24px;}
.hp-res-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:14px;}
.hp-res-head b{font-size:22px;letter-spacing:.14em;color:var(--gold);}
.hp-res-head span{font-size:15px;color:var(--ink-faint);letter-spacing:.08em;}
.hp-side-block{display:flex;flex-direction:column;gap:12px;}
.hp-board-meta{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.hp-board-meta .who{font-size:17px;color:var(--ink);font-weight:600;letter-spacing:.06em;}
.hp-board-meta .meta{font-size:14.5px;color:var(--ink-faint);}
.hp-board-meta .juzhu{font-size:14.5px;color:var(--gold);letter-spacing:.05em;}
.hp-pals{display:flex;flex-direction:column;gap:6px;}
.hp-pal-row{display:flex;gap:12px;align-items:baseline;padding:8px 12px;background:rgba(217,188,122,.05);
  border:1px solid var(--line-soft);border-radius:8px;}
.hp-pal-row .hp-pn{flex:none;font-size:14.5px;color:var(--gold);letter-spacing:.1em;}
.hp-pal-row .hp-pv{font-size:15px;color:var(--ink);word-break:break-all;}
body.day .hp-pal-row{background:rgba(138,106,46,.06);}
@media(max-width:860px){
  .hp-grid{grid-template-columns:1fr;}
  .hp-cast{width:100%;padding:14px 0;}
}

/* ============================================================
   昼空模式（body.day）：宣纸暖调天穹 + 墨金反转
   夜空=玄底金字（默认）；昼空=暖纸底墨字金饰
   ============================================================ */
body.day{
  --gold:#8a6a2e; --gold-d:#6f5524; --gold-l:#a5822f;
  --cinnabar:#c73a2b; --cinnabar-d:#a82e20;
  --ink:#332a1c; --ink-faint:rgba(51,42,28,.82);
  --ink-soft:rgba(51,42,28,.9); --ink-dim:rgba(51,42,28,.55);
  /* 暖纸色文字翻深：夜里是米纸浅字，白天是墨字（2026-10-10 白天可读性整改） */
  --warm-hi:#3a2f1c; --warm-tx:rgba(58,47,32,.92);
  --warm-dim:rgba(58,47,32,.75); --warm-ghost:rgba(58,47,32,.42);
  --gold-soft:rgba(122,96,40,.88);
  --panel:rgba(253,250,242,.8); --panel-2:rgba(251,247,236,.88);
  --line:rgba(122,96,40,.4); --line-soft:rgba(122,96,40,.22);
  background:#e9e2d0;color:var(--ink);
}
/* 恒深表面（起局/大六壬仪式全屏、封面图徽标、牌印）白天也保持夜色调色板——
   局部把翻深的变量映回夜值（2026-10-10 白天可读性整改） */
body.day #qmRitual,body.day #lrRitual,
body.day .st-lv-img .stl-no,
body.day .st-deck-stamp{
  --gold:#d9bc7a; --gold-d:#b9924a; --gold-l:#ffe9b8;
  --gold-soft:rgba(217,188,122,.78);
  --warm-hi:rgba(243,234,217,.94); --warm-tx:rgba(243,234,217,.88);
  --warm-dim:rgba(243,234,217,.78); --warm-ghost:rgba(243,234,217,.34);
  --ink:#edf2f8; --ink-faint:rgba(224,232,244,.82); --ink-soft:rgba(224,232,244,.88); --ink-dim:rgba(224,232,244,.52);
}
body.day ::selection{background:rgba(122,96,40,.25);}

/* 主题切换悬浮钮（右下角） */
.sky-toggle{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:70;
  width:46px;height:46px;border-radius:50%;background:rgba(10,15,27,.72);border:1px solid var(--line);
  backdrop-filter:blur(8px);font-size:20px;line-height:1;color:var(--gold);transition:.25s;
  box-shadow:0 6px 22px rgba(0,0,0,.35);}
.sky-toggle:hover{border-color:var(--gold);transform:translateY(-2px);}
@media(max-width:640px){.sky-toggle{right:14px;bottom:calc(174px + env(safe-area-inset-bottom));}}
body.day .sky-toggle{background:rgba(255,252,244,.8);box-shadow:0 6px 22px rgba(60,48,24,.25);}

/* 顶栏 */
body.day .topbar{background:linear-gradient(180deg,rgba(250,246,235,.9),rgba(250,246,235,0));}
body.day .brand-mini b{background:linear-gradient(100deg,#8a6a2e,#c9a34e 30%,#a5822f 55%,#8a6a2e 80%);
  -webkit-background-clip:text;background-clip:text;}
body.day .brand-mini span,body.day .sec-title span,body.day .pillar em,body.day .yao-row .yn,
body.day .zw-pal .pj,body.day .zw-pal .range,body.day .nz-table th,body.day .nz-table .yno,
body.day footer .icp{color:rgba(122,96,40,.92);}
body.day .lang-seg{background:rgba(255,252,244,.75);}
body.day .lang-seg button.on{background:rgba(122,96,40,.15);}
body.day .m-tabbar{background:rgba(248,244,232,.94);}

/* 门厅 */
body.day .hall h1{background:linear-gradient(100deg,#7c5f26 0%,#b98f42 22%,#96742e 44%,#c9a34e 58%,#8a6a2e 78%,#b08a38 100%);
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 0 18px rgba(122,96,40,.18));}
body.day .hall .sub{color:rgba(122,96,40,.92);}
body.day .hall .hint{color:rgba(51,42,28,.8);}
body.day .enter{background:rgba(255,252,244,.65);box-shadow:0 0 30px rgba(122,96,40,.14),inset 0 0 18px rgba(122,96,40,.06);}
body.day .enter:hover{background:rgba(122,96,40,.1);box-shadow:0 0 40px rgba(122,96,40,.22);}

/* 表单与卡片 */
body.day input.inp,body.day select.inp,body.day textarea.inp{background:rgba(255,252,244,.78);color:var(--ink);}
body.day input.inp::placeholder,body.day textarea.inp::placeholder{color:rgba(51,42,28,.5);}
body.day .seg button,body.day .yao-row .seg button{background:rgba(255,252,244,.65);}
body.day .seg button.on,body.day .yao-row .seg button.on{background:rgba(122,96,40,.14);}
body.day .pillar{background:rgba(255,252,244,.68);}
body.day .badge{border-color:rgba(122,96,40,.45);}
body.day .hecan-bar{background:linear-gradient(90deg,rgba(233,215,168,.6),rgba(222,204,156,.72));}
body.day .tool-card .soon,body.day .mode-hint,body.day .src,body.day .cur-note,
body.day .follow-note,body.day .zw-pal .stars .minor{color:rgba(51,42,28,.82);}
body.day .jie-box{background:rgba(255,252,244,.68);}
body.day .follow-row input{background:rgba(255,252,244,.78);color:var(--ink);}

/* 朱砂系提深（浅底上 #f8786c 对比不足） */
body.day .btn-line{color:#c0392b;}
body.day .pillar.day b,body.day .dayun.cur b{color:#b03a2a;}
body.day .nz-table tr.shi td{color:#b03a2a;}
body.day .zw-pal .stars .mut,body.day #drawer .dr-sec .kv em{color:#c0392b;}
body.day .hr-seal{color:#c73a2b;}
body.day .hr-seal2{box-shadow:0 0 0 1.5px rgba(199,58,43,.85),inset 0 0 0 1px rgba(199,58,43,.35),0 3px 12px rgba(176,58,42,.25);}
body.day .hr-seal2 i{color:#c73a2b;text-shadow:none;}
body.day .hex-result>b,body.day .hr-callout b{color:#8a6a2e;text-shadow:none;}
body.day .hr-no{color:#8a6a2e;}
body.day .hall .seal{color:#c73a2b;}

/* 紫微盘 / 抽屉 / 结果卡 */
body.day .zw-pal{background:rgba(253,250,242,.92);}
body.day .zw-pal:hover{background:rgba(244,238,222,.96);}
body.day .zw-center{background:rgba(248,243,230,.95);}
body.day #drawer{background:rgba(251,247,237,.97);}
body.day .hex-result{background:linear-gradient(160deg,rgba(240,226,186,.68),rgba(230,212,168,.82));}
body.day .hex-name{text-shadow:none;}

/* 遮罩与转场 */
body.day #loading{background:rgba(240,234,220,.86);}
body.day .ring .track{stroke:rgba(122,96,40,.18);}
body.day #wipe{background:radial-gradient(120% 120% at 50% 50%,#e8e2d0 55%,#efe9d8 100%);}
body.day #dmask{background:rgba(60,50,30,.35);}
/* 昼空：涟漪与徽记降级 */
body.day .rings i{border-color:rgba(122,96,40,.4);}
body.day .hall-glyph{color:#8a6a2e;text-shadow:none;border-color:rgba(122,96,40,.6);box-shadow:none;animation:none;}
body.day .hall-glyph::after{border-color:rgba(199,58,43,.3);}
body.day{--mtn1:rgba(120,140,150,.2);--mtn2:rgba(96,118,128,.3);--mtn-line:rgba(122,96,40,.28);}

/* ---------- 门厅（青囊式长页首屏） ---------- */
.hall{position:relative;overflow:hidden;padding-bottom:200px;}
.hall-core{position:relative;z-index:2;}
.hall-floats{position:absolute;inset:0;z-index:1;pointer-events:none;}
.fl-ch{position:absolute;font-family:var(--kai);color:rgba(217,188,122,.15);letter-spacing:.2em;
  animation:flFloat 15s ease-in-out infinite;white-space:nowrap;}
@keyframes flFloat{0%,100%{transform:translateY(0);opacity:.45;}50%{transform:translateY(-20px);opacity:1;}}
body.day .fl-ch{color:rgba(122,96,40,.18);}
.hall-mtn{position:absolute;left:0;right:0;bottom:-2px;width:100%;height:36vh;min-height:220px;z-index:1;}
.mtn-l{fill:none;stroke:var(--mtn-line);stroke-width:1.5;}
.hall .vp{margin-top:28px;font-size:18px;letter-spacing:.14em;color:var(--ink-faint);line-height:2;}
/* 门厅图标带：四门意象徽章 */
.hall-ics{display:flex;justify-content:center;gap:42px;margin-top:30px;position:relative;z-index:2;}
.hall-ic{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--gold);text-decoration:none;transition:transform .25s;}
.hall-ic .disc{width:64px;height:64px;border:1px solid rgba(217,188,122,.38);border-radius:50%;
  display:flex;align-items:center;justify-content:center;transition:.25s;
  background:radial-gradient(circle at 38% 28%,rgba(217,188,122,.12),rgba(10,14,24,0) 62%);}
.hall-ic svg{width:35px;height:35px;display:block;}
.hall-ic em{font-style:normal;font-size:14px;letter-spacing:.3em;text-indent:.3em;color:var(--ink-faint);transition:color .25s;}
.hall-ic:hover{transform:translateY(-3px);}
.hall-ic:hover .disc{border-color:rgba(217,188,122,.85);color:var(--gold-l);
  box-shadow:0 0 26px rgba(230,170,80,.18),inset 0 0 14px rgba(230,170,80,.10);}
.hall-ic:hover em{color:var(--gold);}
body.day .hall-ic{color:#8a6a2e;}
body.day .hall-ic .disc{border-color:rgba(122,96,40,.5);
  background:radial-gradient(circle at 38% 28%,rgba(122,96,40,.10),rgba(255,255,255,0) 62%);}
body.day .hall-ic em{color:rgba(60,48,28,.85);}
.hall .vp2{margin-top:6px;font-size:16px;color:var(--ink-faint);letter-spacing:.06em;line-height:2;}
.hall .trust{margin-top:18px;font-size:14.5px;color:rgba(217,188,122,.85);letter-spacing:.3em;}
body.day .hall .trust{color:rgba(122,96,40,.92);}
.hall-cta{margin-top:46px;display:flex;gap:18px;justify-content:center;flex-wrap:wrap;position:relative;z-index:2;}
.hall-lab{margin-top:22px;display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;position:relative;z-index:2;}
.hall-lab i{font-style:normal;color:rgba(233,207,150,.5);letter-spacing:.22em;font-size:12.5px;}
.hall-lab a{color:#d9c9a3;text-decoration:none;border:1px solid rgba(201,162,39,.35);border-radius:99px;padding:6px 18px;font-size:14px;letter-spacing:.12em;transition:.2s;}
.hall-lab a:hover{border-color:#c9a227;color:#e9cf96;background:rgba(201,162,39,.08);}
.cta-ghost{display:inline-flex;align-items:center;border:1px solid var(--gold);color:var(--gold);border-radius:99px;
  padding:12px 34px;font-size:17px;letter-spacing:.2em;background:rgba(217,188,122,.06);transition:.25s;}
.cta-ghost:hover{background:rgba(217,188,122,.14);}
body.day .cta-ghost{background:rgba(255,252,244,.6);}
.scroll-cue{margin-top:30px;font-size:20px;color:var(--gold);opacity:.7;animation:cue 2.2s ease-in-out infinite;}
@keyframes cue{0%,100%{transform:translateY(0);opacity:.5;}50%{transform:translateY(8px);opacity:1;}}
.hall .seal{margin-top:14px;}

@media(max-width:640px){
  .hall{padding-bottom:120px;}
  .hall .sub{gap:0;}
  .hall .sub::before,.hall .sub::after{display:none;}
  .hall .sub{font-size:17px;letter-spacing:.24em;text-indent:.24em;flex-wrap:wrap;justify-content:center;line-height:2;}
  .hall .vp{font-size:14.5px;letter-spacing:0;}
  .hall-ics{gap:24px;}
  .hall-ic .disc{width:54px;height:54px;}
  .hall-ic svg{width:30px;height:30px;}
  .hall-ic em{font-size:14px;letter-spacing:.2em;text-indent:.2em;}
  .hall .vp2{font-size:15px;}
  .hall-glyph{width:48px;height:48px;font-size:23px;margin-bottom:18px;}
}

/* ---------- 结果页 v2 · 左盘右文双栏版式 ---------- */
.res-layout{display:grid;grid-template-columns:1fr;gap:20px;margin-top:20px;align-items:start;}
.res-left{min-width:0;}
.res-panel{background:var(--panel);border:1px solid var(--line-soft);border-radius:16px;padding:14px;backdrop-filter:blur(12px);}
.res-panel-meta{text-align:center;padding:10px 4px 12px;border-bottom:1px dashed var(--line-soft);margin-bottom:10px;}
.res-panel-meta .who{font-size:20px;letter-spacing:.14em;color:var(--gold);font-weight:700;}
.res-panel-meta .meta{margin-top:4px;font-size:15px;color:var(--ink-faint);line-height:1.8;}
.res-panel-meta .juzhu{margin-top:4px;font-size:14.5px;color:var(--ink-faint);letter-spacing:.06em;}
.res-panel-tip{margin-top:10px;font-size:14.5px;color:var(--ink-faint);text-align:center;letter-spacing:.05em;}
@media(min-width:1080px){
  .res-layout{grid-template-columns:minmax(440px,580px) minmax(0,1fr);gap:36px;}
  .res-left{position:sticky;top:84px;}
}
/* 大屏：左盘再加宽、间距放大，右栏正文吃满剩余宽度 */
@media(min-width:1500px){
  .res-layout{grid-template-columns:minmax(520px,660px) minmax(0,1fr);gap:48px;}
}
@media(min-width:1800px){
  .res-layout{grid-template-columns:minmax(560px,720px) minmax(0,1fr);gap:56px;}
}
.res-right{min-width:0;}
/* 分析/参详 页签 */
.res-tabs{display:flex;gap:26px;border-bottom:1px solid var(--line-soft);margin-bottom:16px;}
.res-tab{padding:8px 2px 12px;font-size:18px;letter-spacing:.12em;color:var(--ink-faint);cursor:pointer;
  border-bottom:2px solid transparent;display:inline-flex;align-items:center;gap:8px;background:none;transition:.2s;}
.res-tab.on{color:var(--gold);border-bottom-color:var(--gold);font-weight:700;}
.res-tab .soon{font-size:11px;color:var(--cinnabar);border:1px solid rgba(232,80,63,.5);border-radius:4px;padding:0 5px;letter-spacing:.05em;}
/* AI 参详入口：金色胶囊 + 呼吸微光，一眼可见、引人想点 */
.res-tab-ai{color:#f2dfa8;border:1px solid rgba(217,188,122,.65);border-radius:999px;
  padding:6px 18px 8px;font-size:16px;background:linear-gradient(180deg,rgba(217,188,122,.16),rgba(217,188,122,.05));
  animation:aiTabGlow 2.6s ease-in-out infinite;align-self:center;margin-bottom:6px;}
.res-tab-ai:hover{background:rgba(217,188,122,.28);color:#ffe9b8;}
@keyframes aiTabGlow{
  0%,100%{box-shadow:0 0 0 0 rgba(217,188,122,.0);border-color:rgba(217,188,122,.5);}
  50%{box-shadow:0 0 14px 2px rgba(217,188,122,.28);border-color:rgba(240,214,150,.9);}
}
/* 手风琴头的 AI 徽记：标题金色 + 上下细金线 */
.acc .acc-h b{color:var(--gold);}
/* 单盘表单：标题下方的命盘库选择按钮行 */
.bf-pick-row{display:flex;justify-content:center;margin:2px 0 12px;}
.bf-pick-row .pl-pick{font-size:13.5px;}
/* 锚点导航条 */
.res-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 16px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.res-chips::-webkit-scrollbar{display:none;}
.res-chips button{flex:none;padding:7px 16px;border-radius:99px;border:1px solid var(--line-soft);background:transparent;
  color:var(--ink);opacity:.85;font-size:15.5px;cursor:pointer;transition:.2s;letter-spacing:.08em;}
.res-chips button:hover,.res-chips button.on{border-color:var(--gold);color:var(--gold);opacity:1;}
/* 桌面端分类芯片：换行平铺全部可见 */
@media(min-width:1080px){
  .res-chips{flex-wrap:wrap;overflow:visible;padding-bottom:12px;gap:7px;}
  .res-chips button{padding:7px 13px;font-size:15px;letter-spacing:.04em;}
  .res-chips .ch-div{margin:3px 3px;}
}
/* 宽屏：13 颗芯片压进一行，「父母长辈」不再单独占一行 */
@media(min-width:1600px){
  .res-chips{flex-wrap:nowrap;gap:5px;overflow-x:auto;}
  .res-chips button{padding:7px 8px;letter-spacing:.02em;}
  .res-chips .ch-div{margin:3px 1px;}
}
/* 定调区（标题 + 雷达） */
.res-sum{background:var(--panel);border:1px solid var(--line-soft);border-radius:16px;padding:24px;margin-bottom:14px;backdrop-filter:blur(12px);
  display:grid;grid-template-columns:1fr;gap:18px;}
@media(min-width:680px){.res-sum{grid-template-columns:minmax(0,1fr) 470px;align-items:center;}}
.res-sum-kicker{font-size:14px;letter-spacing:.3em;color:var(--ink-faint);}
.res-sum-title{margin-top:8px;font-size:clamp(27px,3.4vw,40px);font-weight:700;letter-spacing:.1em;color:var(--gold);line-height:1.4;}
.res-sum-sub{margin-top:12px;font-size:18px;line-height:2;color:var(--ink);opacity:.88;}
.res-sum-note{margin-top:12px;font-size:13.5px;color:var(--ink-faint);letter-spacing:.04em;}
.res-radar{width:100%;max-width:470px;margin:0 auto;display:block;}
.res-radar text{fill:var(--ink);opacity:.85;font-size:15px;letter-spacing:.04em;}
.res-radar text.sc{fill:var(--gold);opacity:1;font-size:14px;font-weight:700;}
/* 雷达轴标可点：切到对应分类详页 */
.res-radar text.lk{cursor:pointer;}
.res-radar text.lk:hover{fill:var(--gold);opacity:1;}
.res-radar .rpoly{transform-box:fill-box;transform-origin:center;animation:radarin 1s ease .2s both;}
@keyframes radarin{from{transform:scale(.15);opacity:0;}to{transform:scale(1);opacity:1;}}
/* 核心三卡 */
.res-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:24px;}
.res-trio>div{background:var(--panel);border:1px solid var(--line-soft);border-radius:12px;padding:15px 17px;backdrop-filter:blur(10px);}
.res-trio b{display:flex;align-items:center;gap:8px;font-size:17px;letter-spacing:.12em;color:var(--ink);}
.res-trio b .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);display:inline-block;flex:none;}
.res-trio p{margin-top:9px;font-size:15.5px;line-height:1.95;color:var(--ink);opacity:.84;}
body.day .res-trio>div{background:rgba(255,252,244,.8);}
/* 锚点落点 */
.res-sec{scroll-margin-top:92px;}

/* 盘面点选联动：本宫/三方/对宫高亮 + 大限当前标记 + 中央三方四正提示 */
.zw-board{position:relative;}
.zw-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3;}
.zw-lines .zl-san{stroke:rgba(217,188,122,.85);stroke-width:1.6;stroke-dasharray:6 5;fill:none;}
.zw-lines .zl-opp{stroke:rgba(232,80,63,.85);stroke-width:1.6;stroke-dasharray:6 5;fill:none;}
.zw-pal{cursor:pointer;}
.zw-pal.hl-self{box-shadow:inset 0 0 0 2px #d9bc7a,0 0 14px rgba(217,188,122,.28);}
.zw-pal.hl-san{outline:2px dashed rgba(217,188,122,.75);outline-offset:-3px;}
.zw-pal.hl-opp{outline:2px dashed rgba(232,80,63,.8);outline-offset:-3px;}
.zw-pal.now-dec .range{color:#e8503f;font-weight:700;}
.zw-pal.now-dec::after{content:'限';position:absolute;top:6px;right:8px;font-size:12px;color:#fff;background:#e8503f;border-radius:4px;padding:1px 5px;line-height:1.4;}
.zw-center{position:relative;}
.zw-sf-tip{margin-top:8px;padding-top:8px;border-top:1px dashed rgba(217,188,122,.35);font-size:14px;color:var(--ink-soft);letter-spacing:.04em;}
.zw-sf-tip b{color:var(--gold);margin-right:6px;}
body.day .zw-sf-tip{color:rgba(51,42,28,.85);border-top-color:rgba(160,130,70,.4);}

/* 大限/流年切换轨（盘面下方，参考 metisziwei） */
.zw-rails{margin-top:14px;display:flex;flex-direction:column;gap:12px;}
.rail-lbl{font-size:14px;letter-spacing:.14em;color:var(--gold);margin-bottom:7px;}
.rail-lbl i{font-style:normal;color:var(--ink-faint);letter-spacing:.03em;margin-left:8px;font-size:14px;}
.rail-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
.rail-chips button{flex:0 0 auto;min-width:86px;background:rgba(10,15,27,.7);border:1px solid var(--line-soft);border-radius:10px;padding:8px 12px;cursor:pointer;text-align:center;transition:.2s;font-family:inherit;}
.rail-chips button b{display:block;font-size:16px;color:var(--ink);letter-spacing:.02em;}
.rail-chips button span{display:block;margin-top:3px;font-size:14px;color:var(--ink-faint);letter-spacing:.06em;}
.rail-chips button:hover{border-color:rgba(217,188,122,.5);}
.rail-chips button.on{border-color:var(--gold);background:rgba(217,188,122,.12);box-shadow:0 0 10px rgba(217,188,122,.18);}
.rail-chips button.on b{color:var(--gold);}
.rail-chips button.on span{color:rgba(217,188,122,.85);}
body.day .rail-chips button{background:rgba(253,250,242,.9);}
body.day .rail-chips button.on{background:rgba(217,188,122,.16);}
/* 流年日历（选年→展月→展日，点开即读） */
.zw-cal{margin-top:14px;}
.zw-cal .cal-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap;}
.zw-cal .cal-head b{font-size:17px;color:var(--gold);letter-spacing:.14em;}
.zw-cal .cal-head i{font-style:normal;font-size:13.5px;color:var(--ink-faint);letter-spacing:.03em;}
.zw-cal .cal-nav{margin-left:auto;display:flex;gap:6px;align-items:center;}
.zw-cal .cal-nav button{width:28px;height:28px;border-radius:8px;border:1px solid var(--line-soft);background:none;color:var(--ink);cursor:pointer;font-size:16px;line-height:1;transition:.2s;}
.zw-cal .cal-nav button:hover{border-color:var(--gold);color:var(--gold);}
.zw-cal .cal-nav em{font-style:normal;font-size:14.5px;color:var(--gold);letter-spacing:.06em;}
.zw-cal .cal-wrap{flex-wrap:wrap;overflow:visible;gap:7px;}
.zw-cal .cal-wrap button{min-width:64px;padding:6px 10px;}
.zw-cal #zwCalMonths,.zw-cal #zwCalDays{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line-soft);}
.zw-cal .cal-read{margin-top:12px;border-top:1px solid var(--line-soft);padding-top:10px;font-size:16px;line-height:1.9;color:var(--ink);text-align:left;}
.zw-cal .cal-read .cr-line{color:var(--ink);letter-spacing:.03em;}
.zw-cal .cal-read .cr-line .cr-title{color:var(--gold);font-size:17.5px;letter-spacing:.05em;}
.zw-cal .cal-read .cr-theme{margin-top:6px;opacity:.92;}
.zw-cal .cal-read p{margin-top:7px;}
.zw-cal .cal-read .rs-star{color:var(--gold);}
.zw-cal .cal-read .rs-borrow{opacity:.8;}
.zw-cal .cal-read .cr-dim{margin-top:4px;padding-left:10px;border-left:2px solid rgba(217,188,122,.3);opacity:.88;}
.zw-cal .cal-read .cr-mut{margin-top:4px;font-size:15px;color:rgba(232,80,63,.85);}
.zw-cal .cal-read .cr-opp{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line-soft);opacity:.75;font-size:15.5px;}
.zw-cal .cal-read .cr-scope{font-size:14px;opacity:.62;}
.zw-cal .cal-read .cr-note{margin-top:8px;font-size:13.5px;color:var(--ink-faint);letter-spacing:.04em;}
/* 直给式解读：总结 + 顺/注意/建议 三段 */
.zw-cal .cal-read .cr-head{margin-top:8px;font-size:17.5px;color:var(--gold);letter-spacing:.03em;line-height:1.8;font-weight:600;}
.zw-cal .cal-read .cr-sec{margin-top:12px;border-radius:10px;padding:10px 12px;}
.zw-cal .cal-read .cr-sec b{display:block;font-size:15.5px;letter-spacing:.1em;}
.zw-cal .cal-read .cr-sec p{margin-top:6px;font-size:16px;line-height:1.85;opacity:.92;}
.zw-cal .cal-read .cr-good{background:rgba(88,168,120,.1);border:1px solid rgba(88,168,120,.3);}
.zw-cal .cal-read .cr-good b{color:#7fd0a0;}
.zw-cal .cal-read .cr-warn{background:rgba(232,80,63,.09);border:1px solid rgba(232,80,63,.32);}
.zw-cal .cal-read .cr-warn b{color:#e8503f;}
.zw-cal .cal-read .cr-tip{background:rgba(217,188,122,.08);border:1px solid rgba(217,188,122,.3);}
.zw-cal .cal-read .cr-tip b{color:var(--gold);}
.zw-cal .cal-read .cr-basis{margin-top:12px;padding-top:8px;border-top:1px dashed var(--line-soft);font-size:14.5px;opacity:.72;}
.zw-cal .cal-read .cr-basis b{display:block;color:var(--ink-faint);letter-spacing:.1em;margin-bottom:2px;font-size:13.5px;}
body.day .zw-cal .cal-read .cr-good{background:rgba(88,168,120,.12);}
body.day .zw-cal .cal-read .cr-warn{background:rgba(232,80,63,.1);}
body.day .zw-cal .cal-read{color:#3a2f22;}
body.day .zw-cal .cal-nav button{border-color:rgba(122,96,40,.35);}
/* 芯片分组分隔 */
.res-chips .ch-div{flex:none;width:1px;align-self:stretch;margin:3px 6px;background:var(--line-soft);}
/* 一句话定调 */
/* 八重深度（对标青囊紫微 Eight-fold Depth 版式） */
.depth-panel{background:var(--panel);border:1px solid rgba(217,188,122,.26);border-radius:16px;padding:36px 30px 32px;margin-top:18px;text-align:center;backdrop-filter:blur(12px);}
.depth-kicker{font-size:13px;letter-spacing:.34em;color:var(--gold);opacity:.75;}
.depth-title{margin-top:12px;font-size:clamp(21px,2.4vw,27px);font-weight:700;color:var(--gold);letter-spacing:.16em;}
.depth-sub{margin-top:12px;font-size:14.5px;color:var(--ink-faint);letter-spacing:.03em;}
.depth-list{margin:24px auto 0;text-align:left;display:flex;flex-direction:column;gap:17px;max-width:620px;}
.depth-item{display:flex;gap:14px;align-items:flex-start;}
.depth-item .no{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid rgba(217,188,122,.55);color:var(--gold);font-size:14px;display:flex;align-items:center;justify-content:center;margin-top:2px;}
.depth-item b{display:block;font-size:18px;letter-spacing:.06em;color:var(--ink);}
.depth-item p{margin-top:4px;font-size:17px;line-height:1.85;color:var(--ink);opacity:.72;}
body.day .depth-panel{background:rgba(255,252,244,.85);}
.ol-head{margin-top:16px;font-size:16px;letter-spacing:.28em;color:var(--ink-faint);}
/* 分类详页切换（芯片即页签：点哪个分类单独看哪个） */
#resDetail .rdim{display:none;}#resDetail .rdim.on{display:block;animation:rdimIn .3s ease;}
/* 合盘分类页签（与单盘分类同构） */
#hpDetail .rdim{display:none;}#hpDetail .rdim.on{display:block;animation:rdimIn .3s ease;}
@keyframes rdimIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.dim-sub{font-size:16.5px;color:var(--ink-faint);letter-spacing:.06em;margin-bottom:10px;padding-bottom:8px;border-bottom:1px dashed var(--line-soft);}
/* 手风琴行（参考版式：全宽灰底行 + 右侧 展开/收起） */
.acc{border:1px solid var(--line-soft);border-radius:10px;margin-bottom:10px;overflow:hidden;background:rgba(217,188,122,.05);}
.acc-h{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;
  background:none;border:none;cursor:pointer;font-size:16px;color:var(--ink);letter-spacing:.06em;text-align:left;}
.acc-h b{font-weight:600;}
.acc-h i{font-style:normal;font-size:13.5px;color:var(--ink-faint);flex:none;letter-spacing:.1em;}
.acc.open{background:rgba(217,188,122,.08);}
.acc.open .acc-h i{color:var(--gold);}
.acc-b{display:none;padding:2px 16px 14px;font-size:15px;line-height:2;color:var(--ink);}
.acc.open .acc-b{display:block;}
.acc-b p{margin-bottom:8px;opacity:.9;}
.acc-b p:last-child{margin-bottom:0;}
body.day .acc{background:rgba(255,252,244,.72);}
body.day .acc.open{background:rgba(255,252,244,.95);}
/* 六亲板块 */
.six-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-top:10px;}
.six-item{background:rgba(217,188,122,.06);border:1px solid var(--line-soft);border-radius:10px;padding:12px 14px;}
.six-item b{font-size:15.5px;color:var(--gold);letter-spacing:.1em;}
.six-item span{display:block;margin-top:5px;font-size:13.5px;color:var(--ink-faint);line-height:1.7;}
.six-item p{margin-top:6px;font-size:14.5px;line-height:1.9;color:var(--ink);opacity:.85;}
body.day .six-item{background:rgba(255,252,244,.7);}
/* 一句话定调 */
.one-line{margin-top:14px;padding:13px 16px;border-left:3px solid var(--gold);background:rgba(217,188,122,.07);
  border-radius:0 10px 10px 0;font-size:18px;line-height:1.9;letter-spacing:.04em;color:var(--ink);}
.one-line em{font-style:normal;color:var(--gold);font-weight:700;}
body.day .one-line{background:rgba(122,96,40,.08);}
/* 八字左栏立柱 */
.bp-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.bp-col{text-align:center;background:rgba(217,188,122,.07);border:1px solid var(--line-soft);border-radius:10px;padding:12px 4px;}
.bp-col.day{border-color:rgba(217,188,122,.55);background:rgba(217,188,122,.13);}
.bp-col em{display:block;font-size:14px;color:var(--ink-faint);letter-spacing:.2em;}
.bp-col b{display:block;margin-top:8px;font-size:26px;font-family:var(--kai);color:var(--ink);}
.bp-col.day b{color:var(--gold);}
.bp-col i{display:block;margin-top:7px;font-style:normal;font-size:14px;color:var(--ink-faint);line-height:1.7;}
.bp-col .bp-x{font-size:14px;opacity:.92;}
.bp-col .ssx{color:var(--gold);font-size:14px;min-height:1.7em;}
/* 专业细盘表（问真式：行×列，干支按五行着色，日柱高亮） */
.bpt{background:rgba(217,188,122,.06);border:1px solid var(--line-soft);border-radius:12px;overflow:hidden;}
.bpt-r{display:grid;grid-template-columns:48px repeat(4,1fr);align-items:stretch;border-bottom:1px solid var(--line-soft);}
.bpt-r:last-of-type{border-bottom:none;}
.bpt-r>em{font-style:normal;font-size:14px;color:var(--ink-faint);display:flex;align-items:center;padding:8px 0 8px 10px;letter-spacing:.1em;}
.bpt-r>i{font-style:normal;text-align:center;padding:9px 2px;font-size:14px;color:var(--ink);border-left:1px solid var(--line-soft);line-height:1.55;display:flex;flex-direction:column;justify-content:center;}
.bpt-r.bpt-h>i{font-size:14px;color:var(--ink-faint);letter-spacing:.25em;padding:10px 2px;}
.bpt-h>i.day{color:var(--gold);font-weight:700;}
.bpt-r>i.day{background:rgba(217,188,122,.12);}
.bpt-gz{font-family:var(--kai);font-size:26px;font-weight:700;display:block;line-height:1.2;}
.bpt-hg{font-family:var(--kai);font-size:16px;display:block;line-height:1.3;}
.bpt-r>i>em{display:block;font-style:normal;font-size:14px;color:var(--ink-faint);line-height:1.3;}
.bpt-r>i.ssx{color:var(--gold);font-size:14px;}
.bpt-note{padding:8px 12px;font-size:14px;color:var(--ink-faint);border-top:1px dashed var(--line-soft);line-height:1.7;}
@media(max-width:1079px){
  .bpt-r{grid-template-columns:40px repeat(4,1fr);}
  .bpt-r>em{padding-left:8px;letter-spacing:0;}
  .bpt-gz{font-size:22px;}
}
/* 流年十年网格 */
.ln-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px;}
.ln-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line-soft);border-radius:10px;background:rgba(217,188,122,.05);font-size:15px;color:var(--ink);}
.ln-item b{font-family:var(--kai);min-width:42px;}
.ln-item .lno{font-family:var(--kai);color:var(--gold);}
.ln-item em{font-style:normal;font-size:14px;color:var(--ink-faint);margin-left:auto;text-align:right;}
.ln-item.cur{border-color:rgba(217,188,122,.55);background:rgba(217,188,122,.13);}
.ln-item.cur b{color:var(--gold);}
@media(max-width:600px){.ln-grid{grid-template-columns:1fr;}}
body.day .bp-col{background:rgba(255,252,244,.7);}
/* 移动端 */
@media(max-width:1079px){
  .res-sum{padding:20px;}
  .res-left{order:-1;}
}
/* 感情详页（另一半画像）提示块：与日历 cr-* 同视觉语言，作用于 .reading */
.reading .cr-warn{margin-top:12px;padding:10px 14px;border:1px solid var(--line);border-left:3px solid var(--cinnabar);background:rgba(232,80,63,.07);border-radius:10px;font-size:16px;line-height:1.85;}
.reading .cr-good{margin-top:12px;padding:10px 14px;border:1px solid var(--line);border-left:3px solid #58a878;background:rgba(88,168,120,.1);border-radius:10px;font-size:16px;line-height:1.85;}
body.day .reading .cr-good{background:rgba(88,168,120,.1);}
.reading .cr-tip{margin-top:12px;padding:10px 14px;border-left:3px solid var(--gold);background:rgba(217,188,122,.08);border-radius:10px;font-size:16px;line-height:1.85;}
body.day .reading .cr-tip{background:rgba(138,106,46,.07);}
/* 合盘交叉分析 */
.hp-bars{margin:14px 0 6px;display:grid;gap:10px;}
.hp-bar{display:grid;grid-template-columns:86px 1fr 52px;align-items:center;gap:10px;font-size:15px;}
.hp-bar span{color:var(--ink-faint);letter-spacing:.06em;}
.hp-bar b{text-align:right;color:var(--gold);font-size:15px;}
.hp-track{height:10px;border-radius:5px;background:rgba(127,127,127,.18);overflow:hidden;}
.hp-track i{display:block;height:100%;border-radius:5px;transition:width .6s ease;}
.hp-track i.g{background:linear-gradient(90deg,rgba(88,168,120,.65),#7fd0a0);}
.hp-track i.r{background:linear-gradient(90deg,rgba(232,80,63,.6),rgba(232,80,63,.95));}
.hp-bar-note{font-size:14px;color:var(--ink-faint);margin-top:4px;}
.hp-x-row{margin-top:12px;padding:11px 14px;border:1px solid var(--line-soft);border-radius:10px;font-size:16px;line-height:1.8;}
.hp-x-row b{display:inline-block;letter-spacing:.03em;}
.hp-x-row.hp-x-g{border-left:3px solid #58a878;}
.hp-x-row.hp-x-g b{color:#7fd0a0;}
.hp-x-row.hp-x-w{border-left:3px solid var(--cinnabar);}
.hp-x-row.hp-x-w b{color:var(--cinnabar);}
.hp-x-row p{margin:6px 0 0;color:var(--ink);}
.hp-x-fix{color:var(--gold)!important;}
.hp-x-meta{display:block;font-size:14px;color:var(--ink-faint);opacity:.85;letter-spacing:.03em;margin-top:3px;}
/* 用户高频问题 · 直答卡 */
.hp-qa{margin-top:16px;padding:15px 17px;border:1px solid var(--line-soft);border-radius:12px;background:var(--panel-2);}
.hp-qa .hp-q{display:block;font-size:18px;line-height:1.6;color:var(--gold);font-weight:700;letter-spacing:.02em;margin-bottom:4px;}
.hp-qa .hp-q::before{content:'Q';display:inline-block;margin-right:8px;font-size:13px;font-weight:800;padding:1px 6px;border:1px solid var(--gold);border-radius:5px;color:var(--gold);vertical-align:2px;}
.hp-a{font-size:17px;line-height:1.9;color:var(--ink);margin:5px 0 0;}
.hp-qa-src{display:block;margin-top:9px;font-size:14px;color:var(--ink-faint);opacity:.82;}
/* 页签开头的用户问句 */
.hp-ask{font-size:18px;line-height:1.7;color:var(--gold);font-weight:700;letter-spacing:.02em;margin:2px 0 12px;}
.hp-ask::before{content:'Q';display:inline-block;margin-right:8px;font-size:13px;font-weight:800;padding:1px 6px;border:1px solid var(--gold);border-radius:5px;color:var(--gold);vertical-align:2px;}
@media(max-width:767px){.hp-bar{grid-template-columns:74px 1fr 46px;}.hp-qa{padding:13px 14px;}.hp-qa .hp-q,.hp-ask{font-size:17px;}.hp-a{font-size:16.5px;}}
/* ---- 合盘首屏：一句话结论（结论先行 · 一眼抓人） ---- */
.hp-hero{margin:2px 0 16px;padding:20px;border-radius:14px;
  border:1px solid rgba(217,188,122,.34);background:linear-gradient(180deg,rgba(217,188,122,.13),rgba(217,188,122,.035));}
body.day .hp-hero{background:linear-gradient(180deg,rgba(138,106,46,.12),rgba(138,106,46,.03));border-color:rgba(138,106,46,.3);}
.hp-hero-k{font-size:15px;letter-spacing:.18em;color:var(--gold);margin-bottom:10px;}
.hp-hero-t{font-size:25px;line-height:1.55;font-weight:800;color:var(--ink);letter-spacing:.01em;}
.hp-hero-s{margin-top:11px;font-size:15px;color:var(--ink-faint);letter-spacing:.03em;}
.hp-marks{display:grid;gap:10px;margin:16px 0 4px;}
.hp-mark{padding:12px 15px;border-radius:12px;border:1px solid var(--line-soft);background:var(--panel-2);}
.hp-mark span{display:block;font-size:14.5px;letter-spacing:.12em;color:var(--ink-faint);margin-bottom:6px;}
.hp-mark b{display:block;font-size:19px;line-height:1.6;font-weight:700;color:var(--ink);}
.hp-mark i{display:block;margin-top:4px;font-size:15px;font-style:normal;color:var(--ink-faint);}
.hp-mark.g{border-left:4px solid #58a878;}
.hp-mark.g b{color:#7fd0a0;}
body.day .hp-mark.g b{color:#2f7a54;}
.hp-mark.r{border-left:4px solid var(--cinnabar);}
.hp-mark.r b{color:#ff9084;}
body.day .hp-mark.r b{color:#b93a2a;}
.hp-line{display:flex;gap:11px;align-items:flex-start;margin:11px 0 0;font-size:17px;line-height:1.85;color:var(--ink);}
.hp-line>b{flex:none;width:23px;height:23px;line-height:23px;text-align:center;border-radius:50%;font-size:14px;font-weight:700;color:#0b0e13;background:var(--gold);margin-top:4px;}
body.day .hp-line>b{color:#fdfaf2;background:#8a6a2e;}
.hp-x-tag{display:inline-block;margin-left:8px;padding:1px 9px;border-radius:99px;font-size:14px;border:1px solid var(--line);color:var(--ink-faint);letter-spacing:.03em;vertical-align:1px;}
/* 四柱合盘：中性信号行 / 答案出处 / 双盘侧标 */
.hp-x-row.hp-x-n{border-left:3px solid var(--gold);opacity:.95;}
.hp-x-row.hp-x-n b{color:var(--gold);}
.hp-src{margin-top:14px;font-size:14px;line-height:1.75;color:var(--ink-faint);opacity:.85;letter-spacing:.02em;}
.hz-side{margin-top:16px;}
.hz-side b{font-size:18px;letter-spacing:.1em;color:var(--gold);}
@media(max-width:767px){
  .hp-hero{padding:16px 15px;}
  .hp-hero-t{font-size:21px;line-height:1.58;}
  .hp-hero-k{font-size:14.5px;letter-spacing:.14em;}
  .hp-mark b{font-size:18px;}
  .hp-line{font-size:16.5px;}
}
.reading .cr-mut{margin-top:12px;padding:10px 14px;border-left:3px solid var(--gold);background:rgba(217,188,122,.08);border-radius:10px;font-size:16px;line-height:1.85;}
.reading .cr-basis{margin-top:20px;padding-top:12px;border-top:1px dashed var(--line-soft);font-size:14.5px;opacity:.88;line-height:1.8;}
.reading .cr-basis b{display:block;margin-bottom:6px;letter-spacing:.14em;color:var(--gold);}
.reading .cr-basis p{margin-top:5px;}
body.day .reading .cr-warn{background:rgba(199,58,43,.06);}
body.day .reading .cr-mut{background:rgba(138,106,46,.07);}

/* ================= 账号体系 · 我的命盘（2026-09-15） ================= */
.topbar-right{display:flex;align-items:center;gap:10px;}
.acct-link{font-size:15.5px;letter-spacing:.12em;color:var(--ink-faint);padding:6px 14px;border:1px solid var(--line);border-radius:99px;transition:.2s;text-decoration:none;}
.acct-link:hover,.acct-link.on{color:var(--gold);border-color:var(--gold);}
body.day .acct-link{color:#6b5f4a;}
body.day .acct-link.on{color:#8a6a2e;border-color:#8a6a2e;}

.auth-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,440px);gap:28px;align-items:start;}
.auth-intro h3{font-size:21px;letter-spacing:.08em;color:var(--ink);margin-bottom:14px;font-weight:700;}
.auth-intro p{font-size:16.5px;line-height:1.9;color:var(--ink-faint);margin:0 0 8px;}
.auth-intro p b{color:var(--gold);}
.auth-small{font-size:14.5px;line-height:1.85;color:var(--ink-faint);opacity:.92;}
.auth-card{padding:22px;}
.auth-tabs{display:flex;gap:8px;margin-bottom:16px;}
.auth-tabs button{flex:1;padding:9px 0;border-radius:10px;border:1px solid var(--line-soft);background:transparent;color:var(--ink-faint);font-size:16.5px;letter-spacing:.14em;}
.auth-tabs button.on{border-color:var(--gold);color:var(--gold);background:rgba(217,188,122,.08);font-weight:700;}
body.day .auth-tabs button.on{background:rgba(138,106,46,.08);}
.auth-panel{display:none;}
.auth-panel.on{display:block;}
.auth-seg{display:flex;gap:6px;margin-bottom:14px;padding:3px;border:1px solid var(--line-soft);border-radius:99px;}
.auth-seg button{flex:1;padding:7px 0;border-radius:99px;border:none;background:transparent;color:var(--ink-faint);font-size:15.5px;}
.auth-seg button.on{background:rgba(217,188,122,.16);color:var(--gold);font-weight:600;}
.auth-f label{display:block;margin:14px 0 7px;font-size:15px;letter-spacing:.1em;color:var(--ink-faint);}
.auth-f input{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:rgba(8,12,22,.5);color:var(--ink);font-size:17px;font-family:inherit;letter-spacing:.02em;}
body.day .auth-f input{background:rgba(255,255,255,.72);}
.auth-f input:focus{outline:none;border-color:var(--gold);}
.auth-btn{width:100%;margin-top:16px;padding:12px 0;font-size:17px;letter-spacing:.2em;text-indent:.2em;}
.auth-link{display:block;margin-top:12px;background:none;border:none;color:var(--gold);font-size:15px;letter-spacing:.06em;text-decoration:underline;cursor:pointer;padding:0;font-family:inherit;}
.auth-msg{display:none;margin-top:16px;padding:11px 14px;border-radius:10px;font-size:15.5px;line-height:1.75;}
.auth-msg.on{display:block;}
.auth-msg.info{background:rgba(217,188,122,.1);border:1px solid rgba(217,188,122,.3);color:var(--gold);}
.auth-msg.ok{background:rgba(88,168,120,.12);border:1px solid rgba(88,168,120,.34);color:#7fd0a0;}
body.day .auth-msg.ok{color:#2f7a54;}
.auth-msg.warn{background:rgba(232,80,63,.1);border:1px solid rgba(232,80,63,.34);color:#ff9084;}
body.day .auth-msg.warn{color:#b93a2a;}
.auth-foot{margin-top:14px;font-size:14px;color:var(--ink-faint);opacity:.85;}
.auth-warn{margin-bottom:12px;padding:11px 14px;border-radius:10px;font-size:15px;line-height:1.7;background:rgba(232,80,63,.09);border:1px solid rgba(232,80,63,.3);color:#ff9084;}
body.day .auth-warn{color:#b93a2a;}
/* ===== 登录 / 注册卡（2026-10-13 改版：头部+关闭 · 验证码直登/密码登录两段 · 圆形微信入口） ===== */
.auth-card{padding:20px 22px 18px;}
.auth-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.auth-head b{font-size:19px;letter-spacing:.14em;color:var(--ink);font-weight:700;}
.auth-x{width:32px;height:32px;border-radius:50%;border:1px solid var(--line-soft);background:transparent;color:var(--ink-faint);font-size:19px;line-height:1;cursor:pointer;font-family:inherit;transition:.2s;display:flex;align-items:center;justify-content:center;padding:0;}
.auth-x:hover{border-color:rgba(217,188,122,.7);color:var(--gold);}
.auth-f>input{width:100%;box-sizing:border-box;padding:13px 14px;border-radius:10px;border:1px solid var(--line);background:rgba(8,12,22,.5);color:var(--ink);font-size:16.5px;font-family:inherit;letter-spacing:.02em;margin-bottom:12px;}
body.day .auth-f>input{background:rgba(255,255,255,.72);}
.auth-f>input:focus{outline:none;border-color:var(--gold);}
.auth-f>input::placeholder{color:var(--ink-faint);opacity:.7;}
.auth-otprow{display:flex;gap:10px;align-items:stretch;margin-bottom:12px;}
.auth-otprow>input{flex:1;min-width:0;box-sizing:border-box;padding:13px 14px;border-radius:10px;border:1px solid var(--line);background:rgba(8,12,22,.5);color:var(--ink);font-size:16.5px;font-family:inherit;letter-spacing:.14em;}
body.day .auth-otprow>input{background:rgba(255,255,255,.72);}
.auth-otprow>input:focus{outline:none;border-color:var(--gold);}
.auth-otprow>input::placeholder{letter-spacing:.02em;color:var(--ink-faint);opacity:.7;}
.auth-code{white-space:nowrap;padding:0 16px;border-radius:10px;font-size:15.5px;letter-spacing:.06em;flex-shrink:0;border-color:rgba(217,188,122,.55);color:var(--gold);background:none;}
.auth-code:hover{background:rgba(217,188,122,.12);}
body.day .auth-code{color:#8a6a2e;}
.auth-code:disabled{opacity:.55;cursor:default;}
.auth-hint{margin:-2px 0 14px;font-size:14px;line-height:1.7;color:var(--ink-faint);opacity:.9;}
.auth-hint-r{text-align:right;margin:-4px 0 12px;}
.auth-hint-r .auth-link{display:inline-block;margin:0;font-size:14px;text-decoration:none;border-bottom:1px dashed rgba(217,188,122,.5);}
.auth-agree{display:flex;gap:9px;align-items:flex-start;margin:0 0 14px;font-size:14px;line-height:1.7;color:var(--ink-faint);cursor:pointer;}
.auth-agree input{width:16px;height:16px;margin:3px 0 0;flex-shrink:0;accent-color:#d9bc7a;cursor:pointer;}
.auth-agree a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(217,188,122,.45);}
.auth-card .auth-f .auth-btn{width:100%;margin-top:2px;padding:13px 0;font-size:17px;letter-spacing:.2em;text-indent:.2em;}
/* .auth-wx / .auth-round / .auth-round-t 随微信登录入口一并下线（2026-10-14），样式已删除 */
@media(max-width:520px){
  .auth-head b{font-size:18px;}
  .auth-otprow{gap:8px;}
  .auth-code{padding:0 12px;font-size:14.5px;letter-spacing:.02em;}
}

.acct-id{display:flex;align-items:center;gap:14px;}
.acct-ava{width:52px;height:52px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#1a1408;background:linear-gradient(140deg,#b98f42,#e9cf96);}
.acct-id b{display:block;font-size:18px;color:var(--ink);letter-spacing:.04em;}
.acct-id span{display:block;margin-top:4px;font-size:14.5px;color:var(--ink-faint);}
.acct-acts{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap;}
.acct-btn{font-size:16px;padding:9px 20px;letter-spacing:.1em;text-decoration:none;}
.acct-f{max-width:340px;}

.pl-head{display:flex;justify-content:space-between;align-items:baseline;margin:6px 0 10px;font-size:15.5px;color:var(--ink-faint);}
.pl-head em{font-style:normal;color:var(--gold);font-size:16px;margin:0 3px;}
.pl-head .pl-saved{font-size:14px;opacity:.85;}
.pl-list{display:grid;gap:8px;}
.pl-item{display:flex;align-items:stretch;gap:0;border:1px solid var(--line-soft);border-radius:11px;overflow:hidden;background:var(--panel-2);}
.pl-main{flex:1;min-width:0;padding:12px 14px;text-align:left;cursor:pointer;transition:.18s;}
.pl-main:hover{background:rgba(217,188,122,.07);}
.pl-main b{display:block;font-size:17px;color:var(--ink);letter-spacing:.03em;font-weight:700;}
.pl-main b .pl-tag{display:inline-block;margin-left:8px;font-style:normal;font-size:13.5px;padding:1px 8px;border-radius:99px;border:1px solid var(--line);color:var(--ink-faint);vertical-align:1px;font-weight:400;}
/* 关系标签可点改（✎） */
.pl-tag-edit{cursor:pointer;border-style:dashed;}
.pl-tag-edit:hover{color:var(--gold);border-color:rgba(217,188,122,.55);}
.pl-main span{display:block;margin-top:4px;font-size:16px;color:var(--ink);}
.pl-main em{display:block;margin-top:3px;font-style:normal;font-size:14.5px;color:var(--ink-faint);}
.pl-ops{display:flex;flex-direction:column;border-left:1px solid var(--line-soft);}
.pl-ops button{flex:1;background:none;border:none;color:var(--ink-faint);font-size:15px;padding:0 14px;cursor:pointer;font-family:inherit;}
.pl-ops button:hover{color:var(--gold);background:rgba(217,188,122,.08);}
.pl-empty{padding:20px 18px;border:1px dashed var(--line);border-radius:12px;text-align:center;background:var(--panel-2);}
.pl-empty b{display:block;font-size:17.5px;color:var(--ink);letter-spacing:.04em;}
.pl-empty p{margin:8px 0 0;font-size:15.5px;line-height:1.8;color:var(--ink-faint);}
.pl-btn{margin-top:14px;font-size:16px;padding:10px 26px;letter-spacing:.16em;}
.pl-load{padding:18px;font-size:16px;color:var(--ink-faint);}
/* 命盘列表折叠开关（超过 3 条才出现） */
.pl-toggle{margin-top:10px;width:100%;background:none;border:1px dashed var(--line);border-radius:10px;color:var(--ink-faint);font-size:15px;padding:9px 0;cursor:pointer;letter-spacing:.06em;font-family:inherit;transition:.18s;}
.pl-toggle:hover{color:var(--gold);border-color:rgba(217,188,122,.5);background:rgba(217,188,122,.06);}
.pl-pick{background:none;border:1px solid var(--line);border-radius:99px;color:var(--gold);font-size:14.5px;padding:4px 12px;cursor:pointer;letter-spacing:.04em;font-family:inherit;}
.pl-pick:hover{border-color:var(--gold);background:rgba(217,188,122,.1);}
.hp-side-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}

.dm-pick-mask{position:fixed;inset:0;z-index:120;background:rgba(4,7,14,.72);display:none;align-items:center;justify-content:center;padding:20px;}
.dm-pick-mask.on{display:flex;}
.dm-pick{width:min(560px,94vw);max-height:76vh;display:flex;flex-direction:column;border-radius:16px;border:1px solid var(--line);background:var(--panel);}
.dm-pick-h{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line-soft);}
.dm-pick-h b{font-size:17.5px;color:var(--gold);letter-spacing:.06em;}
.dm-pick-h button{background:none;border:none;color:var(--ink-faint);font-size:24px;line-height:1;cursor:pointer;}
.dm-pick-b{overflow-y:auto;padding:14px 16px 18px;}

.dm-toast{position:fixed;left:50%;bottom:88px;transform:translate(-50%,14px);z-index:200;max-width:86vw;padding:11px 20px;border-radius:99px;background:rgba(16,22,36,.94);border:1px solid var(--line);color:var(--ink);font-size:16px;line-height:1.6;opacity:0;pointer-events:none;transition:.28s;}
body.day .dm-toast{background:rgba(251,247,236,.97);}
.dm-toast.on{opacity:1;transform:translate(-50%,0);}
/* 必填校验未过：输入框红框抖动（所问何事） */
.inp.miss{border-color:#e8503f!important;box-shadow:0 0 0 3px rgba(232,80,63,.18)!important;animation:askMiss .42s ease-in-out;}
@keyframes askMiss{0%,100%{transform:translateX(0);}18%{transform:translateX(-5px);}38%{transform:translateX(5px);}58%{transform:translateX(-3px);}78%{transform:translateX(3px);}}

/* ================= 账号中心 · 我的八字五行速览卡（2026-10-10） ================= */
.abz-chips{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 14px;}
.abz-chips button{background:none;border:1px solid var(--line);color:var(--ink);border-radius:99px;padding:5px 16px;font-size:14.5px;cursor:pointer;font-family:inherit;transition:.18s;}
.abz-chips button:hover{border-color:var(--gold);}
.abz-chips button.on{border-color:var(--gold);color:var(--gold-l);background:rgba(217,188,122,.12);}
body.day .abz-chips button.on{color:var(--gold);background:rgba(138,106,46,.08);}
.abz-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 14px;}
.abz-pillar{border:1px solid var(--line-soft);border-radius:12px;padding:10px 4px 9px;text-align:center;background:var(--panel-2);}
.abz-pillar.day{border-color:var(--line);background:rgba(217,188,122,.09);}
body.day .abz-pillar.day{background:rgba(138,106,46,.07);}
.abz-ptag{display:block;font-size:12.5px;color:var(--ink-faint);margin-bottom:7px;letter-spacing:.1em;}
.abz-gan,.abz-zhi{display:block;font-size:30px;line-height:1.2;font-weight:700;}
.abz-zhi{margin-top:4px;}
.abz-ss{display:block;margin-top:7px;font-size:12.5px;color:var(--ink-faint);}
.abz-facts{display:flex;flex-wrap:wrap;gap:7px 18px;font-size:14.5px;color:var(--ink-faint);margin:0 0 16px;padding-bottom:14px;border-bottom:1px solid var(--line-soft);}
.abz-facts b{color:var(--ink);font-weight:600;}
.abz-facts .abz-solar{color:var(--gold);}
.abz-wxhead{display:flex;align-items:center;gap:10px;margin:0 0 10px;flex-wrap:wrap;}
.abz-wxhead b{font-size:15.5px;color:var(--ink);letter-spacing:.06em;white-space:nowrap;}
.abz-full{font-style:normal;font-size:12.5px;padding:2px 10px;border-radius:99px;border:1px solid rgba(217,188,122,.7);color:var(--gold);}
.abz-wxnote{margin-left:auto;font-size:13px;color:var(--ink-faint);}
.abz-wxgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px 26px;margin:0 0 12px;}
.abz-wxrow{display:flex;align-items:center;gap:9px;font-size:14px;}
.abz-wxk{width:16px;font-weight:700;flex:none;}
.abz-wxbar{flex:1;height:6px;border-radius:3px;background:rgba(255,255,255,.09);overflow:hidden;}
body.day .abz-wxbar{background:rgba(51,42,28,.1);}
.abz-wxbar i{display:block;height:100%;border-radius:3px;}
.abz-wxrow em{font-style:normal;width:36px;text-align:right;color:var(--ink-faint);font-size:13px;flex:none;}
.abz-note{margin:0 0 14px;font-size:13.5px;}
.abz-acts{display:flex;gap:10px;flex-wrap:wrap;}
.abz-btn{font-size:15px;padding:10px 22px;letter-spacing:.1em;}
.abz-empty{padding:24px 12px;text-align:center;}
.abz-empty-t{margin:0 0 6px;font-size:17.5px;font-weight:700;color:var(--ink);letter-spacing:.04em;}
/* 命格卷轴（2026-10-10）：宣纸底竖排命格，压在深色账号页上像一幅立轴 */
.abz-mg{display:flex;align-items:center;gap:22px;margin:2px 0 16px;}
.abz-mg-l{display:flex;flex-direction:column;gap:5px;}
.abz-wxl{display:flex;align-items:center;gap:9px;}
.abz-wxc{width:15px;font-size:14.5px;font-weight:700;font-family:"Kaiti SC",KaiTi,"Noto Serif SC",serif;}
.abz-dot{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--dc);flex:none;}
.abz-dot.on{background:var(--dc);box-shadow:0 0 6px var(--dc);}
.abz-mgq{font-size:12.5px;color:var(--ink-faint);margin-top:6px;letter-spacing:.08em;}
.abz-mgq.full{color:var(--gold);}
.abz-scroll{background:linear-gradient(165deg,#f8f2e0,#ede2c2 70%,#e4d6b2);border-radius:6px;
  padding:7px;box-shadow:0 8px 22px rgba(0,0,0,.4),0 0 0 1px rgba(217,188,122,.25);}
body.day .abz-scroll{box-shadow:0 6px 16px rgba(51,42,28,.18),0 0 0 1px rgba(122,96,40,.3);}
.abz-sc{border:1px solid #c8b78c;padding:10px 12px 8px;position:relative;}
.abz-sc-in{position:relative;height:148px;min-width:118px;}
.abz-sc-mt{position:absolute;left:0;right:0;bottom:0;width:100%;height:92px;}
.abz-sc-r1{fill:none;stroke:#8a795d;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round;}
.abz-sc-r2{fill:none;stroke:#b3a380;stroke-width:1.4;stroke-linejoin:round;opacity:.7;}
.abz-sc-sun{fill:rgba(176,58,38,.22);}
.abz-sc-name{position:absolute;top:0;right:2px;writing-mode:vertical-rl;
  font-family:"Kaiti SC",KaiTi,"Noto Serif SC",serif;font-weight:700;font-size:27px;
  letter-spacing:.22em;color:#3a2f22;line-height:1.15;}
.abz-sc-run{position:absolute;top:6px;right:44px;writing-mode:vertical-rl;
  font-family:"Kaiti SC",KaiTi,"Noto Serif SC",serif;font-size:12px;letter-spacing:.3em;
  color:#7a6a4d;}
.abz-seal{position:absolute;right:2px;bottom:-2px;width:24px;height:24px;border-radius:3px;
  background:#b03a26;color:#f6ead2;font-style:normal;font-weight:700;font-size:14px;
  display:flex;align-items:center;justify-content:center;font-family:"Kaiti SC",KaiTi,serif;
  transform:rotate(-4deg);box-shadow:0 1px 4px rgba(176,58,38,.45);}
.abz-sc-cap{margin-top:6px;text-align:center;font-size:14.5px;font-weight:700;
  color:#4a3d29;font-family:"Kaiti SC",KaiTi,"Noto Serif SC",serif;letter-spacing:.1em;}
.abz-sc-sub{margin-top:2px;text-align:center;font-size:12px;color:#8a7a5c;letter-spacing:.12em;}
/* 账号卡右上角卷轴槽位（2026-10-10 用户：放到右上角）——左信息右卷轴两栏，无数据时整槽隐藏 */
.acct-flex{display:flex;align-items:center;gap:28px;}
.acct-main{flex:1;min-width:0;}
.abz-mg-top{margin:0;flex:none;}
.abz-mg-top:empty{display:none;}
@media (max-width:900px){
  .acct-flex{flex-direction:column;align-items:flex-start;gap:14px;}
  .abz-mg-top{margin:0;}
}
@media (max-width:640px){
  .abz-mg{gap:16px;}
  .abz-sc-in{height:132px;min-width:104px;}
  .abz-sc-name{font-size:23px;}
}
@media (max-width:640px){
  .abz-pillars{gap:7px;}
  .abz-gan,.abz-zhi{font-size:25px;}
  .abz-ss,.abz-ptag{font-size:11.5px;}
  .abz-wxgrid{grid-template-columns:1fr;}
  .abz-wxnote{margin-left:0;width:100%;order:3;}
  .abz-acts .abz-btn{flex:1;min-width:140px;}
}

.road{display:grid;gap:10px;margin-top:6px;}
.road-i{padding:12px 15px;border-radius:11px;border:1px solid var(--line-soft);border-left:3px solid var(--line);background:var(--panel-2);}
.road-i.done{border-left-color:#58a878;}
.road-i b{display:block;font-size:16.5px;color:var(--ink);}
.road-i.done b{color:#7fd0a0;}
body.day .road-i.done b{color:#2f7a54;}
.road-i span{display:block;margin-top:4px;font-size:15px;line-height:1.75;color:var(--ink-faint);}

@media(max-width:900px){.auth-grid{grid-template-columns:1fr;gap:18px;}}
@media(max-width:767px){
  .acct-link{font-size:15px;padding:5px 12px;letter-spacing:.06em;}
  .auth-card{padding:18px 16px;}
  .auth-intro h3{font-size:19px;}
  .auth-intro p{font-size:16px;}
  .pl-main b{font-size:16.5px;}
  .pl-main em{font-size:14px;}
  .dm-toast{bottom:96px;font-size:15.5px;}
  .m-tabbar a{font-size:13.5px;}
}
/* 经典出处（公版古籍原文引用块） */
.cl-quotes{margin-top:14px;padding:14px 16px;border:1px solid rgba(217,188,122,.3);border-radius:10px;background:rgba(217,188,122,.07);}
.cl-q{font-size:15.5px;line-height:1.95;margin:7px 0;color:var(--ink-faint);}
.cl-q i{font-style:normal;color:var(--gold);font-size:14px;margin-right:9px;opacity:.92;letter-spacing:.04em;}
.cl-note{font-size:14px;color:var(--ink-faint);opacity:.78;margin-top:9px;line-height:1.7;}
body.day .cl-quotes{background:rgba(185,146,74,.08);border-color:rgba(185,146,74,.4);}
body.day .cl-q{color:rgba(93,72,32,.88);}
@media(max-width:767px){.cl-quotes{padding:12px 13px;}.cl-q{font-size:16px;}.cl-q i{font-size:14px;display:block;margin-bottom:2px;}}
/* ================= 七政四余（星盘 · 细盘表 · 恩用仇难） ================= */
.qz-wheel-wrap{display:flex;justify-content:center;margin:14px 0 6px;}
.qz-wheel{width:100%;max-width:430px;height:auto;display:block;}
.qz-cap{font-size:14.5px;line-height:1.85;color:var(--ink-faint);margin-top:10px;opacity:.85;}
.qz-cap b{color:var(--gold);}
.qz-twrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:12px 0 4px;border:1px solid rgba(217,188,122,.22);border-radius:10px;}
.qz-tab{width:100%;min-width:680px;border-collapse:collapse;font-size:15px;}
.qz-tab th{background:rgba(217,188,122,.1);color:var(--gold);font-weight:600;font-size:14.5px;letter-spacing:.04em;padding:9px 10px;text-align:left;white-space:nowrap;border-bottom:1px solid rgba(217,188,122,.25);}
.qz-tab td{padding:9px 10px;border-bottom:1px solid rgba(217,188,122,.1);color:var(--warm-tx);vertical-align:middle;line-height:1.6;}
.qz-tab tr:last-child td{border-bottom:none;}
.qz-tab tbody tr:hover td{background:rgba(217,188,122,.05);}
.qz-row-lum td{background:rgba(232,80,63,.05);}
.qz-row-ming td{background:rgba(232,80,63,.08);}
.qz-name{font-weight:600;color:var(--gold);white-space:nowrap;}
.qz-name em{font-style:normal;font-size:13.5px;opacity:.6;margin-left:4px;font-weight:400;}
.qz-zhi{color:#e8503f;font-weight:600;}
.qz-faint{color:var(--ink-faint);opacity:.72;font-size:14px;margin-left:5px;}
.qz-si{font-size:14px;color:var(--warm-dim);min-width:158px;}
.qz-tag{font-style:normal;display:inline-block;font-size:13.5px;line-height:1.5;padding:1px 6px;margin-right:3px;border-radius:5px;border:1px solid rgba(217,188,122,.45);color:var(--gold);}
.qz-tag.t-庙{background:rgba(232,80,63,.16);border-color:rgba(232,80,63,.6);color:#f0a89c;}
.qz-tag.t-旺{background:rgba(217,188,122,.18);}
.qz-bad{color:#e8a03f;}
.qz-warn{color:var(--gold);}
.qz-str{font-size:14px;padding:1px 7px;border-radius:5px;border:1px solid var(--line-soft);color:var(--ink-faint);}
.qz-str.on{border-color:rgba(232,80,63,.55);color:#f0a89c;background:rgba(232,80,63,.12);}
.qz-s{font-style:normal;font-weight:600;color:var(--gold);margin-right:2px;}
.qz-en{color:#8fd6a8;font-style:normal;font-weight:600;}
.qz-yong{color:#9fd4e8;font-style:normal;font-weight:600;}
.qz-nan{color:#e8a03f;font-style:normal;font-weight:600;}
.qz-chou{color:#e8503f;font-style:normal;font-weight:600;}
.qz-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:6px 0 14px;}
.qz-trio>div{border:1px solid rgba(217,188,122,.25);border-radius:10px;padding:11px 12px;background:rgba(217,188,122,.05);text-align:center;}
.qz-trio b{display:block;font-size:14px;color:var(--ink-faint);font-weight:400;}
.qz-trio span{display:block;font-size:18px;color:var(--gold);font-weight:600;margin:5px 0 2px;}
.qz-trio em{font-style:normal;font-size:13.5px;color:var(--ink-faint);opacity:.82;}
.qz-lum{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.qz-lum>div{border-left:2px solid rgba(217,188,122,.4);padding-left:11px;}
.qz-lum p,.qz-flush p{font-size:15.5px;line-height:1.95;color:var(--warm-tx);margin:6px 0;}
.qz-flush h5,.qz-h5{font-size:14.5px;color:var(--gold);letter-spacing:.08em;margin:16px 0 6px;font-weight:600;}
.qz-engroup{border:1px solid rgba(217,188,122,.2);border-radius:10px;padding:12px 13px;margin-top:11px;}
.qz-engroup.g-en{border-color:rgba(143,214,168,.45);background:rgba(143,214,168,.05);}
.qz-engroup.g-yong{border-color:rgba(159,212,232,.45);background:rgba(159,212,232,.05);}
.qz-engroup.g-nan{border-color:rgba(232,160,63,.45);background:rgba(232,160,63,.05);}
.qz-engroup.g-chou{border-color:rgba(232,80,63,.45);background:rgba(232,80,63,.05);}
.qz-enhead{margin-bottom:8px;}
.qz-enhead b{font-size:16px;color:var(--gold);letter-spacing:.06em;}
.qz-enhead em{display:block;font-style:normal;font-size:14px;color:var(--ink-faint);margin-top:3px;line-height:1.7;}
.qz-enrow{font-size:15.5px;line-height:1.9;padding:3px 0;}
.qz-enrow span{color:var(--warm-tx);}
.qz-cls{margin:9px 0;padding:9px 12px;border-left:2px solid rgba(217,188,122,.5);background:rgba(217,188,122,.06);border-radius:0 8px 8px 0;}
.qz-cls span{display:block;font-size:15.5px;line-height:1.9;color:var(--warm-tx);}
.qz-cls i{display:block;font-style:normal;font-size:14px;color:var(--gold);opacity:.85;margin-top:4px;}
.qz-juitem{border:1px solid rgba(217,188,122,.25);border-radius:10px;padding:12px 14px;margin-top:11px;background:rgba(217,188,122,.05);}
.qz-juh b{font-size:16.5px;color:var(--gold);letter-spacing:.05em;}
.qz-juh em{display:block;font-style:normal;font-size:14px;color:var(--ink-faint);margin:4px 0 7px;line-height:1.7;}
.qz-juitem p{font-size:15.5px;line-height:1.95;color:var(--warm-tx);}
.qz-xxwrap{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px;}
.qz-xxi{font-size:14.5px;color:var(--warm-tx);border:1px solid rgba(217,188,122,.22);border-radius:7px;padding:4px 8px;line-height:1.5;}
.qz-xxi span{color:var(--gold);margin-left:4px;font-size:14px;}
body.day .qz-tab td{color:rgba(60,48,32,.9);}
body.day .qz-tab th{background:rgba(185,146,74,.14);color:#8a6a24;}
body.day .qz-si{color:rgba(60,48,32,.72);}
body.day .qz-enrow span,body.day .qz-juitem p,body.day .qz-cls span,body.day .qz-lum p,body.day .qz-flush p,body.day .qz-xxi{color:rgba(60,48,32,.86);}
body.day .qz-cap{color:rgba(93,72,32,.85);}
body.day .qz-engroup.g-en{background:rgba(60,140,90,.06);}
body.day .qz-juitem{background:rgba(185,146,74,.07);}
@media(max-width:767px){
  .qz-wheel{max-width:336px;}
  .qz-tab{font-size:14.5px;min-width:610px;}
  .qz-tab th,.qz-tab td{padding:8px;}
  .qz-tab th{font-size:14px;}
  .qz-cap{font-size:14px;}
  .qz-si{font-size:14px;min-width:136px;}
  .qz-trio span{font-size:17px;}
  .qz-lum{grid-template-columns:1fr;}
  .qz-enrow,.qz-cls span,.qz-juitem p,.qz-lum p,.qz-flush p{font-size:16px;}
}
/* 七政白话定调块 + 当前行限高亮（20260916t） */
.qz-plain{border-left:3px solid var(--gold);background:rgba(217,188,122,.08);border-radius:0 10px 10px 0;padding:13px 16px;margin:0 0 16px;}
.qz-plain b{display:block;font-family:var(--kai);color:var(--gold);font-size:15.5px;letter-spacing:.22em;margin-bottom:7px;}
.qz-plain p{margin:0;font-size:16px;line-height:1.85;color:var(--warm-hi);}
.qz-plain p b{display:inline;color:var(--gold-l);letter-spacing:0;}
body.day .qz-plain{background:rgba(185,146,74,.09);}
body.day .qz-plain p{color:rgba(60,48,32,.92);}
body.day .qz-plain p b{color:#8a6a24;}
.qz-tab tr.qz-cur td{background:rgba(217,188,122,.12);}
body.day .qz-tab tr.qz-cur td{background:rgba(185,146,74,.13);}
.qz-now{display:inline-block;margin-left:8px;padding:1px 9px;border-radius:10px;background:var(--gold);color:#231a0d;font-size:13px;font-weight:700;font-style:normal;vertical-align:1px;}
.qz-xxi.qz-cur{border-color:var(--gold);background:rgba(217,188,122,.14);color:var(--gold);}
/* 三盘合参（20260916w） */
/* 问事合参标签页（20260920h）：总断 / 六爻盘 / 六壬盘 / 奇门盘 */
.ws-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 14px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.ws-tabs::-webkit-scrollbar{display:none;}
.ws-tab{flex:none;display:inline-flex;align-items:center;padding:10px 20px;border-radius:99px;border:1px solid rgba(217,188,122,.35);
  background:rgba(217,188,122,.05);color:var(--warm-tx);font-size:15px;font-family:var(--kai);letter-spacing:.08em;cursor:pointer;white-space:nowrap;}
body.day .ws-tab{color:rgba(60,48,32,.9);}
.ws-tab:hover{border-color:var(--gold);color:var(--gold);}
.ws-tab.on{background:linear-gradient(100deg,#b98f42,#e9cf96 50%,#c79c4e);color:#1a1408;font-weight:700;border-color:transparent;
  box-shadow:0 2px 12px rgba(185,143,66,.35);}
.ws-panel{display:none;}
.ws-panel.on{display:block;animation:wsPanelIn .45s ease both;}
@keyframes wsPanelIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){.ws-panel.on{animation:none;}}
/* 问事合参 v2 · 序章式版式（20260920i）：小节印签 / 稿纸输入 / 竖签类目 */
/* 合参表头 · 三术并呈（20260920j） */
.ws-tri{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0 4px;}
.ws-tri-i{position:relative;border:1px solid rgba(217,188,122,.22);border-radius:13px;padding:14px 6px 12px;text-align:center;
  background:linear-gradient(170deg,rgba(217,188,122,.07),rgba(217,188,122,.015));
  transition:border-color .35s,box-shadow .35s,transform .35s;}
.ws-tri-i:hover{border-color:rgba(217,188,122,.5);box-shadow:0 8px 26px rgba(185,143,66,.2);transform:translateY(-3px);}
.ws-tri-art{height:106px;display:flex;align-items:center;justify-content:center;margin-bottom:10px;}
.ws-tri-i>b{display:block;font-family:var(--kai);font-size:15.5px;font-weight:700;color:var(--warm-hi);letter-spacing:.1em;}
.ws-tri-i>span{display:block;font-size:12.5px;color:var(--ink-faint);margin-top:4px;line-height:1.5;letter-spacing:.02em;}
.ws-tri-i>em{display:inline-block;margin-top:9px;font-style:normal;font-size:12.5px;color:var(--gold);
  border:1px solid rgba(217,188,122,.45);border-radius:4px;padding:1px 9px;letter-spacing:.12em;}
.wt-svg{width:104px;height:104px;display:block;}
.wt-ly{display:flex;flex-direction:column;gap:7.5px;}
.wt-ly-row{position:relative;display:flex;align-items:center;justify-content:center;width:74px;height:8px;}
.wt-yang{display:block;width:74px;height:8px;border-radius:4px;background:rgba(217,188,122,.46);transition:.3s;}
.wt-yin{display:flex;gap:11px;width:74px;height:8px;}
.wt-yin b{flex:1;display:block;height:8px;border-radius:4px;background:rgba(217,188,122,.46);transition:.3s;}
.wt-ly-row.is-move .wt-yang,.wt-ly-row.is-move .wt-yin b{background:linear-gradient(90deg,#c79c4e,#e9cf96);box-shadow:0 0 12px rgba(217,188,122,.45);}
.wt-ly-row em{position:absolute;right:-11px;top:1px;width:6px;height:6px;border-radius:50%;background:var(--cinnabar);
  box-shadow:0 0 8px rgba(232,80,63,.8);}
.wt-qm{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;width:106px;}
.wt-qm u{display:block;text-decoration:none;border:1px solid rgba(217,188,122,.3);border-radius:3px;padding:5px 1px;
  background:rgba(217,188,122,.05);}
.wt-qm b{display:block;font-family:var(--kai);font-size:11px;font-weight:400;line-height:1.3;color:rgba(217,188,122,.92);}
.wt-qm i{display:block;font-style:normal;font-size:9.5px;line-height:1.3;color:var(--warm-dim);}
@media (max-width:360px){.ws-tri{gap:7px;}.ws-tri-i{padding:12px 3px 10px;}.ws-tri-art{height:96px;}.wt-svg{width:94px;height:94px;}.wt-qm{width:96px;}}
body.day .ws-tri-i>b{color:rgba(60,48,32,.92);}
.ws-sec{display:flex;align-items:center;gap:12px;margin:28px 0 14px;}
.ws-sec-no{flex:none;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(217,188,122,.55);border-radius:9px;font-family:var(--kai);font-size:17px;color:var(--gold);
  background:linear-gradient(160deg,rgba(217,188,122,.16),rgba(217,188,122,.03));
  box-shadow:0 2px 12px rgba(0,0,0,.3),inset 0 0 0 3px rgba(217,188,122,.06);}
.ws-sec-t{font-family:var(--kai);font-size:18px;letter-spacing:.3em;color:var(--warm-hi);white-space:nowrap;}
.ws-sec-line{flex:1;height:1px;background:linear-gradient(90deg,rgba(217,188,122,.42),rgba(217,188,122,.04));}
.ws-paper{position:relative;border:1px solid rgba(217,188,122,.42);border-radius:14px;overflow:hidden;
  background:linear-gradient(160deg,rgba(217,188,122,.08),rgba(217,188,122,.02));
  box-shadow:0 4px 22px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.04);padding:16px 78px 34px 18px;}
.ws-paper::before{content:'';position:absolute;left:18px;right:64px;top:16px;bottom:34px;pointer-events:none;
  background:repeating-linear-gradient(to bottom,transparent 0,transparent 39px,rgba(217,188,122,.15) 39px,rgba(217,188,122,.15) 40px);}
.ws-paper-ta{position:relative;z-index:1;display:block;width:100%;min-height:200px;background:transparent;border:none;outline:none;resize:none;
  color:var(--warm-hi);font-size:16px;line-height:40px;font-family:inherit;letter-spacing:.02em;}
.ws-paper-ta::placeholder{color:var(--warm-ghost);}
.ws-paper-side{position:absolute;top:16px;right:18px;bottom:38px;display:flex;flex-direction:column;align-items:center;gap:10px;}
.ws-paper-side b{writing-mode:vertical-rl;font-family:var(--kai);font-size:16px;font-weight:700;letter-spacing:.35em;color:var(--gold);
  border-left:1px solid rgba(217,188,122,.4);padding-left:9px;}
.ws-paper-side i{writing-mode:vertical-rl;font-style:normal;font-size:12.5px;letter-spacing:.3em;color:rgba(217,188,122,.55);}
.ws-paper-cnt{position:absolute;right:20px;bottom:10px;font-size:12.5px;letter-spacing:.06em;color:rgba(217,188,122,.5);z-index:1;}
.ws-slip-head{display:flex;align-items:baseline;gap:10px;margin:18px 2px 10px;}
@media (min-width:640px){.ws-slip-head{justify-content:center;}}
.ws-slip-head b{font-family:var(--kai);font-size:16px;letter-spacing:.22em;color:var(--warm-tx);}
.ws-slip-head span{font-size:13.5px;color:var(--ink-faint);}
.ws-slips{display:flex;gap:10px;overflow-x:auto;padding:6px 2px 14px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
/* 桌面/宽屏居中；窄屏保持左对齐可滑（居中+溢出会裁掉开头签，点不到） */
@media (min-width:640px){.ws-slips{justify-content:center;}}
.ws-slips::-webkit-scrollbar{display:none;}
.ws-slip{flex:none;position:relative;width:54px;min-height:148px;border:1px solid rgba(217,188,122,.35);border-radius:27px;cursor:pointer;
  writing-mode:vertical-rl;line-height:52px;text-align:center;font-family:var(--kai);font-size:15.5px;letter-spacing:.24em;
  color:var(--warm-tx);background:linear-gradient(180deg,rgba(217,188,122,.06),rgba(217,188,122,.02));
  transition:border-color .25s,box-shadow .25s,background .25s,color .25s;}
.ws-slip i{position:absolute;top:11px;left:50%;transform:translateX(-50%);width:16px;height:4px;border-radius:2px;background:rgba(217,188,122,.35);}
.ws-slip:hover{border-color:var(--gold);color:var(--gold);}
.ws-slip.on{border-color:var(--gold);color:var(--gold);font-weight:700;
  background:linear-gradient(180deg,rgba(217,188,122,.2),rgba(217,188,122,.05));
  box-shadow:0 4px 18px rgba(185,143,66,.3),inset 0 0 12px rgba(217,188,122,.08);}
.ws-slip.on i{background:var(--cinnabar);width:20px;}
/* 英文界面：竖签转横排、稿纸侧标签转角标 */
html[lang="en"] .ws-slip{writing-mode:horizontal-tb;width:auto;min-height:0;line-height:1.4;padding:13px 18px 13px;letter-spacing:.03em;border-radius:22px;text-align:center;}
html[lang="en"] .ws-slip{display:inline-flex;align-items:center;justify-content:center;}
html[lang="en"] .ws-slip i{top:8px;}
html[lang="en"] .ws-paper{padding-right:18px;}
html[lang="en"] .ws-paper-side{display:none;}
html[lang="en"] .ws-paper::before{right:18px;}
/* 日间主题 */
body.day .ws-sec-t{color:rgba(60,48,32,.92);}
body.day .ws-paper-ta{color:rgba(60,48,32,.9);}
body.day .ws-paper-ta::placeholder{color:rgba(60,48,32,.35);}
body.day .ws-slip{color:rgba(60,48,32,.85);}
body.day .ws-slip:hover,body.day .ws-slip.on{color:var(--gold);}
.sp-note{text-align:center;font-size:14.5px;color:var(--ink-faint);letter-spacing:.08em;margin:10px 0 18px;}
.sp-row{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:1px dashed rgba(217,188,122,.16);}
.sp-row:last-of-type{border-bottom:none;}
.sp-row b{flex:0 0 44px;font-family:var(--kai);color:var(--gold);font-size:17px;letter-spacing:.1em;}
.sp-row i{flex:0 0 56px;font-style:normal;font-size:13.5px;text-align:center;border:1px solid rgba(217,188,122,.35);border-radius:99px;padding:2px 0;color:var(--gold);white-space:nowrap;}
.sp-row span{font-size:16px;line-height:1.8;color:var(--warm-tx);}
body.day .sp-row span{color:rgba(60,48,32,.9);}
.sp-wxrow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:4px 0 14px;}
.sp-wx{border:1px solid rgba(217,188,122,.22);border-radius:10px;padding:14px 8px;text-align:center;background:rgba(217,188,122,.05);}
.sp-wx b{display:block;font-size:30px;font-family:var(--kai);color:var(--gold);margin-bottom:6px;}
.sp-wx span{font-size:14px;color:var(--ink-faint);letter-spacing:.05em;}
.sp-act{margin-top:12px;border:1px solid rgba(217,188,122,.35);border-radius:8px;padding:10px 14px;}
.sp-act>b{display:block;font-size:14px;color:var(--gold);letter-spacing:.12em;margin-bottom:6px;}
.sp-act ul{margin:0;padding-left:18px;}
.sp-act li{font-size:16px;line-height:1.9;}
@media(max-width:600px){.sp-wxrow{grid-template-columns:repeat(3,1fr);gap:8px;}.sp-wx b{font-size:24px;}.sp-row i{flex-basis:52px;}.sp-act li{font-size:16px;}}
/* 切条移动端：4 个标签必须整行放下，禁止半截被裁（裁掉的标签点不了——会被当成滚动手势） */
@media(max-width:767px){
  .chart-switch{gap:6px;padding:2px 0 8px;}
  .chart-switch a{padding:8px 11px;font-size:14.5px;letter-spacing:.04em;gap:4px;}
  .chart-switch .vip,.chart-switch .soon{font-size:11px;padding:0 4px;}
}
/* ================= 三盘合参 · 深结论 ================= */
.sp-main{border:1px solid rgba(217,188,122,.45);background:linear-gradient(150deg,rgba(217,188,122,.10),rgba(217,188,122,.03));}
.sp-oneshot{font-size:17.5px;line-height:2.1;color:var(--ink);margin:6px 0 4px;}
.sp-oneshot b{color:var(--gold);}
.sp-softline{font-size:15.5px;color:var(--ink-faint);margin-top:6px;}
.sp-verdict{border-left:3px solid var(--gold);background:rgba(217,188,122,.07);border-radius:0 10px 10px 0;padding:13px 15px;margin:4px 0 14px;font-size:16px;line-height:2.05;color:var(--warm-hi);}
.sp-verdict b{color:var(--gold);}
.sp-verdict::before{content:'合参定论';display:inline-block;font-size:13px;letter-spacing:.18em;color:var(--gold);border:1px solid rgba(217,188,122,.5);border-radius:4px;padding:1px 8px;margin-bottom:7px;}
@media(max-width:767px){.sp-oneshot{font-size:16px;}.sp-verdict{font-size:16px;padding:12px 13px;}.sp-softline{font-size:14.5px;}}
/* 三盘打分条 + 别踩的坑 */
.sp-score{display:flex;gap:14px;align-items:center;margin:0 0 14px;flex-wrap:wrap;border:1px solid rgba(217,188,122,.18);border-radius:10px;padding:12px 14px;background:rgba(217,188,122,.04);}
.sp-bar{flex:1;min-width:110px;display:flex;align-items:center;gap:7px;}
.sp-bar b{flex:0 0 34px;font-family:var(--kai);font-size:15px;color:var(--gold);letter-spacing:.06em;}
.sp-bar .tr{flex:1;height:7px;border-radius:4px;background:rgba(217,188,122,.14);overflow:hidden;}
.sp-bar .tr i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,rgba(217,188,122,.55),var(--gold));}
.sp-bar em{flex:0 0 24px;font-style:normal;font-size:14px;color:var(--warm-tx);text-align:right;}
body.day .sp-bar em{color:rgba(60,48,32,.85);}
.sp-comp{flex:0 0 auto;text-align:center;border-left:1px dashed rgba(217,188,122,.3);padding-left:14px;}
.sp-comp b{display:block;font-family:var(--kai);font-size:21px;color:var(--gold);line-height:1.2;}
.sp-comp span{font-size:13px;color:var(--ink-faint);letter-spacing:.14em;}
.sp-pit{color:var(--cinnabar,#e8503f) !important;font-weight:600;}
.sp-act li.sp-pit{border-top:1px dashed rgba(217,188,122,.2);margin-top:4px;padding-top:6px;list-style:none;margin-left:-14px;padding-left:18px;}
/* 参详卡片 */
.ai-card .ai-demo-badge{display:inline-block;font-size:11px;color:var(--gold);border:1px solid rgba(217,188,122,.5);border-radius:4px;padding:0 6px;margin-left:8px;letter-spacing:.1em;vertical-align:3px;}
.ai-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px;}
.ai-chips button{font-size:14.5px;color:var(--gold);background:rgba(217,188,122,.07);border:1px solid rgba(217,188,122,.35);border-radius:99px;padding:6px 14px;cursor:pointer;transition:background .15s;}
.ai-chips button:hover{background:rgba(217,188,122,.16);}
.ai-ask{display:flex;gap:8px;}
.ai-ask input{flex:1;background:rgba(217,188,122,.05);border:1px solid rgba(217,188,122,.3);border-radius:8px;padding:9px 12px;font-size:16px;color:inherit;}
.ai-ask input:focus{outline:none;border-color:var(--gold);}
.ai-ask button{flex:0 0 auto;font-family:var(--kai);font-size:17px;color:var(--gold);background:rgba(217,188,122,.12);border:1px solid rgba(217,188,122,.45);border-radius:8px;padding:0 22px;cursor:pointer;}
.ai-ask button:disabled{opacity:.45;cursor:default;}
.ai-out{margin-top:12px;border:1px dashed rgba(217,188,122,.35);border-radius:10px;padding:14px 16px;background:rgba(217,188,122,.04);}
.ai-text{font-size:16px;line-height:1.95;white-space:pre-wrap;color:var(--warm-hi);}
body.day .ai-text{color:rgba(60,48,32,.9);}
.ai-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap;}
.ai-foot button{font-size:13.5px;color:var(--gold);background:none;border:1px solid rgba(217,188,122,.4);border-radius:6px;padding:3px 12px;cursor:pointer;flex:0 0 auto;white-space:nowrap;}
.ai-warn{font-size:13px;color:var(--ink-faint);flex:1 1 180px;min-width:0;}
/* 计费提示行（参详：额度抵扣 / 已扣积分 / 已退费） */
.ai-bill{font-size:14px;letter-spacing:.03em;color:var(--gold);background:rgba(217,188,122,.09);border-left:2px solid rgba(217,188,122,.5);border-radius:0 6px 6px 0;padding:6px 12px;margin-bottom:10px;}
body.day .ai-bill{color:#8a6a1f;}
/* 计费引导 CTA（去登录 / 去兑换积分） */
.ai-cta{margin-top:12px;}
.ai-cta-btn{font-family:var(--kai);font-size:16px;letter-spacing:.06em;color:var(--gold);background:rgba(217,188,122,.12);border:1px solid rgba(217,188,122,.5);border-radius:8px;padding:8px 20px;cursor:pointer;transition:background .15s;}
.ai-cta-btn:hover{background:rgba(217,188,122,.22);}
/* 追问行（2026-10-15：解读完成后的追加提问；首问免费 → 20 分/次 → 5 次封顶） */
.ai-follow{display:flex;gap:8px;margin-top:12px;}
.ai-follow input{flex:1;background:rgba(217,188,122,.05);border:1px solid rgba(217,188,122,.3);border-radius:8px;padding:9px 12px;font-size:16px;color:inherit;}
.ai-follow input:focus{outline:none;border-color:var(--gold);}
.ai-follow button{flex:0 0 auto;font-family:var(--kai);font-size:16.5px;color:var(--gold);background:rgba(217,188,122,.12);border:1px solid rgba(217,188,122,.45);border-radius:8px;padding:0 20px;cursor:pointer;white-space:nowrap;}
.ai-follow button:disabled{opacity:.45;cursor:default;}
.ai-fu-note{margin:10px 0 0;font-size:13.5px;color:var(--ink-faint);}
/* 历次研读：云端问答存档（账号维度，刷新/换设备可调出） */
.ai-hist{margin-top:14px;border-top:1px dashed rgba(217,188,122,.3);padding-top:8px;}
.ai-hist summary{cursor:pointer;list-style:none;font-size:14px;color:var(--gold);letter-spacing:.08em;display:flex;align-items:center;gap:6px;}
.ai-hist summary::-webkit-details-marker{display:none;}
.ai-hist summary::before{content:'▸';transition:transform .18s;display:inline-block;}
.ai-hist[open] summary::before{transform:rotate(90deg);}
.ai-hist summary em{font-style:normal;opacity:.75;font-size:12.5px;}
.ai-hist-list{margin-top:8px;display:flex;flex-direction:column;gap:10px;}
.ai-hist-item{border:1px solid rgba(217,188,122,.18);border-radius:8px;padding:10px 12px;background:rgba(217,188,122,.03);}
.ai-hist-item.is-follow{border-left:2px solid rgba(217,188,122,.5);}
.ai-hist-q{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:6px;}
.ai-hist-q b{font-size:14.5px;}
.ai-hist-q span{font-size:12px;color:var(--ink-faint);}
.ai-hist-a{font-size:14px;line-height:1.75;opacity:.92;word-break:break-word;}
/* 一键主按钮：据「所问」起参（占卜页） */
.ai-main{display:flex;flex-direction:column;align-items:center;gap:9px;margin:2px 0 2px;text-align:center;}
.ai-main-btn{font-size:16.5px;letter-spacing:.14em;text-indent:.14em;padding:10px 24px;text-align:center;
  display:inline-flex;align-items:center;gap:10px;text-indent:0;letter-spacing:.12em;
  animation:ctaGlow 3.2s ease-in-out infinite;}
.ai-main-t{white-space:nowrap;}
.ai-price{font-style:normal;flex:0 0 auto;font-size:12px;letter-spacing:.03em;font-weight:700;
  color:#fdf3d3;background:rgba(110,78,16,.42);border:1px solid rgba(255,240,200,.6);
  border-radius:99px;padding:2.5px 10px;text-shadow:none;}
.ai-main-note{font-size:13px;color:var(--ink-faint);letter-spacing:.04em;}
/* 单按钮形态（占问面：起卦已记录所问，不出口常用问题与输入框） */
.ai-simple .ai-main{margin:8px 0 4px;}
.ai-simple .ai-main-btn{min-width:230px;}
@media (max-width:520px){.ai-simple .ai-main-btn{width:100%;}.ai-simple .ai-main-note{width:100%;text-align:center;}}
/* 历史卦象（本机保存） */
.ly-hist{margin-top:18px;}
.ly-hist summary b{font-weight:700;font-size:16px;letter-spacing:.14em;}
.ly-hist summary span{font-size:13.5px;color:var(--ink-faint);}
.ly-hist-list{padding:6px 14px 14px;}
.ly-hist-empty{padding:26px 0 8px;text-align:center;font-size:16px;color:var(--ink-faint);letter-spacing:.08em;}
.ly-hist-item{display:flex;align-items:center;gap:10px;padding:12px 2px;border-top:1px dashed rgba(217,188,122,.18);}
.ly-hist-item:first-child{border-top:none;}
.lh-main{flex:1;min-width:0;cursor:pointer;}
.lh-hex{display:block;font-size:17.5px;color:var(--gold);letter-spacing:.08em;}
.lh-hex i{font-style:normal;font-size:14px;color:var(--ink-faint);margin-left:6px;letter-spacing:.06em;}
.lh-when{display:block;font-size:13.5px;color:var(--ink-faint);margin-top:3px;letter-spacing:.05em;}
.lh-ask{display:block;font-size:14.5px;color:var(--ink-faint);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.day .lh-ask{color:rgba(60,48,32,.85);}
.lh-acts{flex:0 0 auto;display:flex;gap:6px;}
.lh-btn{font-size:14px;padding:5px 13px;}
.lh-btn.lh-del{border-color:rgba(248,120,108,.45);opacity:.8;}
.ly-hist-clear{margin-top:14px;text-align:center;}
.ly-hist-clear .btn-line{font-size:14px;padding:5px 16px;opacity:.75;}
.ly-hist-clear .btn-line.danger{border-color:#e8503f;color:#f8786c;opacity:1;}
@media(max-width:767px){
  .ly-hist-item{flex-wrap:wrap;}
  .lh-acts{width:100%;justify-content:flex-end;}
  .lh-btn{font-size:15px;padding:6px 16px;}
  .lh-ask{white-space:normal;font-size:14.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
}


/* ================= 奇门遁甲 ================= */
.qm-emblem{position:relative;width:96px;height:96px;margin:0 auto;line-height:96px;font-size:56px;font-weight:700;color:var(--gold);
  font-family:var(--kai);text-shadow:0 0 24px rgba(217,188,122,.35);}
.qm-emblem::before,.qm-emblem::after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;}
.qm-emblem::before{width:88px;height:88px;border:1px solid rgba(217,188,122,.4);}
.qm-emblem::after{width:104px;height:104px;border:1px dashed rgba(217,188,122,.25);}
/* 九宫盘 */
.qm-sec{margin-top:18px;}
.qm-sec-t{text-align:center;font-size:17px;letter-spacing:.3em;text-indent:.3em;color:var(--gold);margin:0 0 12px;}
.qm-pan{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;max-width:440px;margin:0 auto;}
.qp-cell{position:relative;border:1px solid rgba(217,188,122,.22);border-radius:10px;padding:8px 6px 6px;
  display:flex;flex-direction:column;align-items:center;gap:3px;background:rgba(217,188,122,.04);min-height:92px;}
.qp-cell.qp-zhifu{border-color:rgba(217,188,122,.65);background:rgba(217,188,122,.08);box-shadow:inset 0 0 12px rgba(217,188,122,.1);}
.qp-cell.qp-zhishi{border-color:rgba(232,80,63,.45);}
.qp-cell.qp-kong{opacity:.75;}
.qp-cell.qp-zhong{opacity:.55;}
.qp-shen{font-size:13px;letter-spacing:.12em;color:var(--warm-dim);min-height:16px;}
.qp-zhifu .qp-shen{color:var(--gold);font-weight:700;}
.qp-gan{display:flex;align-items:baseline;gap:5px;line-height:1;}
.qp-gan b{font-family:var(--kai);font-size:24px;color:var(--gold);text-shadow:0 0 10px rgba(217,188,122,.25);}
.qp-gan i{font-style:normal;font-size:14px;color:var(--ink-faint);}
.qp-xs{display:flex;align-items:center;gap:6px;font-size:13.5px;line-height:1.2;}
.qp-xs i{font-style:normal;color:var(--warm-dim);}
.qp-xs em{font-style:normal;color:var(--gold);letter-spacing:.04em;}
.qp-note{font-size:12.5px;color:var(--ink-faint);letter-spacing:.08em;}
.qp-badges{display:flex;gap:4px;align-items:center;min-height:16px;}
.qb{font-style:normal;font-size:12px;line-height:1;padding:2px 4px;border-radius:4px;
  border:1px solid rgba(217,188,122,.45);color:rgba(217,188,122,.85);}
.qb-kong{border-color:rgba(232,80,63,.6);color:#e8786c;}
.qb-ma{border-color:var(--gold-soft);color:var(--gold);}
.qm-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;max-width:440px;margin:10px auto 0;
  font-size:13.5px;color:var(--ink-faint);letter-spacing:.05em;}
.qm-legend .qb{margin-right:4px;}
.qm-lg-zf{color:var(--gold-soft);}
.qm-ask{margin-top:10px;font-size:16px;color:var(--warm-tx);letter-spacing:.04em;}
/* 盘面拆解 */
.qbd{max-width:520px;margin:0 auto;}
.qbd-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:9px 4px;border-bottom:1px dashed rgba(217,188,122,.14);text-align:left;}
.qbd-row b{flex:0 0 88px;font-size:15px;color:var(--gold);letter-spacing:.04em;font-weight:700;}
.qbd-row span{flex:1 1 200px;font-size:15px;color:var(--warm-tx);letter-spacing:.02em;line-height:1.6;}
.qbd-row i{font-style:normal;flex-basis:100%;font-size:14px;color:var(--ink-faint);letter-spacing:.03em;}
.qbd-row.has i{color:rgba(232,120,108,.9);}
@media (max-width:767px){
  .qm-pan{gap:4px;max-width:none;}
  .qp-cell{min-height:84px;padding:6px 3px 5px;border-radius:8px;}
  .qp-gan b{font-size:21px;}
  .qp-gan i{font-size:13.5px;}
  .qp-xs{font-size:13px;gap:4px;}
  .qp-shen{font-size:12.5px;}
  .qbd-row b{flex:0 0 100%;}
  .qm-legend{gap:10px;font-size:13px;}
}

/* 奇门 · 青囊式三节起局（壹定境 / 贰陈所问 / 叁择时定位） */
.qm-step{margin-top:12px;}
.qms-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.qms-no{flex:0 0 auto;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;align-self:center;
  border:1px solid rgba(217,188,122,.55);border-radius:6px;color:var(--gold);font-family:var(--kai);font-size:17px;
  background:rgba(217,188,122,.06);box-shadow:inset 0 0 10px rgba(217,188,122,.12);transform:rotate(-3deg);}
.qms-head b{font-size:17.5px;letter-spacing:.28em;color:var(--gold);font-weight:700;}
.qms-head i{font-style:normal;flex:1;min-width:130px;text-align:right;font-size:13.5px;color:var(--ink-faint);letter-spacing:.03em;}
.qm-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;}
.qmc{position:relative;text-align:left;padding:10px 11px 9px;border:1px solid rgba(217,188,122,.22);border-radius:10px;
  background:rgba(217,188,122,.03);cursor:pointer;transition:border-color .2s,background .2s;}
.qmc:hover{border-color:rgba(217,188,122,.45);}
.qmc-t{display:block;font-size:15.5px;color:var(--warm-tx);letter-spacing:.05em;}
.qmc-d{display:block;font-size:13.5px;color:var(--ink-faint);margin-top:4px;letter-spacing:.02em;}
.qmc.on{border-color:var(--gold);background:rgba(217,188,122,.08);box-shadow:inset 0 0 16px rgba(217,188,122,.1);}
.qmc.on .qmc-t{color:var(--gold);font-weight:700;}
.qmc.on::after{content:'✓';position:absolute;top:7px;right:9px;width:17px;height:17px;line-height:17px;text-align:center;
  font-size:13px;border-radius:50%;background:#d9bc7a;color:#12271f;font-weight:700;}
.qms-foot{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:6px;}
.qms-foot .mode-hint{flex:1;}
.qms-foot b{font-size:13.5px;color:var(--ink-faint);flex:0 0 auto;font-weight:400;}
/* 问局地点：单框搜索 + 本地联想 */
.qm-loc1{position:relative;margin-top:10px;}
.qm-loc-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;}
.qm-loc-k{font-size:14.5px;letter-spacing:.14em;color:rgba(217,188,122,.85);}
.qm-loc-tg{font-size:13px;padding:3px 12px;opacity:.85;}
.qm-loc{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;}
.qm-loc select.inp{appearance:auto;cursor:pointer;}
.qm-go-wrap{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:18px;}
.qm-go-line{flex:0 1 72px;height:1px;background:linear-gradient(90deg,transparent,rgba(217,188,122,.55));}
.qm-go-wrap .qm-go-line:last-child{transform:scaleX(-1);}
.qm-go-wrap .btn-gold{letter-spacing:.2em;text-indent:.2em;}
@media (max-width:767px){
  .qm-cats{grid-template-columns:repeat(2,1fr);}
  .qmc-t{font-size:16px;}
  .qmc-d{font-size:14px;}
  .qms-head i{flex-basis:100%;text-align:left;}
}

/* 奇门 · 起局仪式：九宫逐宫扫过成型（青囊式 sweep） */
@keyframes qmr-fade{from{opacity:0;transform:translateY(5px);}to{opacity:1;transform:none;}}
#qmRitual,#lrRitual{position:fixed;inset:0;z-index:260;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;padding:24px;cursor:pointer;opacity:0;transition:opacity .55s ease;
  background:radial-gradient(ellipse 90% 72% at 50% 42%,rgba(7,11,20,.55) 0%,rgba(7,11,20,.78) 58%,rgba(7,11,20,.92) 100%);}
/* 仪式期间隐藏页面内容层，只留星空与仪式盘 */
body.ritual-on #view,body.ritual-on .topbar,body.ritual-on footer,body.ritual-on .m-tabbar{visibility:hidden;}
/* 结果页左上角悬浮返回按钮 */
.res-back{position:fixed;top:calc(64px + env(safe-area-inset-top,0px));left:14px;z-index:120;
  height:36px;padding:0 15px 0 12px;border-radius:99px;border:1px solid var(--line);
  background:rgba(12,17,28,.82);backdrop-filter:blur(10px);color:var(--gold);
  font-size:15px;line-height:1;letter-spacing:.1em;display:flex;align-items:center;gap:6px;white-space:nowrap;
  box-shadow:0 4px 16px rgba(0,0,0,.32);transition:border-color .3s,box-shadow .3s,transform .3s;}
.res-back:hover{border-color:var(--gold-soft);box-shadow:0 0 18px rgba(217,188,122,.28);transform:scale(1.06);}
#qmRitual.on,#lrRitual.on{opacity:1;}
.qmr-k{font-size:16px;letter-spacing:.6em;text-indent:.6em;color:var(--warm-tx);}
.qmr-k2{font-size:14px;letter-spacing:.22em;color:var(--gold-soft);}
.qrm-stage{position:relative;margin:18px 0 6px;}
.qrm-ring{position:absolute;left:50%;top:50%;width:128%;padding-top:128%;transform:translate(-50%,-50%);
  border:1px dashed rgba(217,188,122,.22);border-radius:50%;animation:ly-spin 26s linear infinite;pointer-events:none;}
.qrm-halo{position:absolute;left:50%;top:50%;width:150%;padding-top:150%;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(217,188,122,.13),transparent 62%);pointer-events:none;
  animation:qmr-breathe 5.5s ease-in-out infinite;}
@keyframes qmr-breathe{0%,100%{opacity:.45;transform:translate(-50%,-50%) scale(1);}50%{opacity:1;transform:translate(-50%,-50%) scale(1.07);}}
.qrm-sp{position:absolute;width:3px;height:3px;border-radius:50%;background:#d9bc7a;opacity:0;pointer-events:none;
  box-shadow:0 0 6px rgba(217,188,122,.85);animation:qmr-float 7.5s ease-in-out infinite;}
.qrm-sp:nth-of-type(1){left:16%;top:72%;}
.qrm-sp:nth-of-type(2){left:82%;top:60%;animation-delay:1.3s;animation-duration:8.5s;}
.qrm-sp:nth-of-type(3){left:30%;top:24%;animation-delay:2.6s;animation-duration:7s;}
.qrm-sp:nth-of-type(4){left:70%;top:22%;animation-delay:3.8s;animation-duration:9s;}
.qrm-sp:nth-of-type(5){left:52%;top:82%;animation-delay:5s;animation-duration:8s;}
.qrm-sp:nth-of-type(6){left:88%;top:38%;animation-delay:6.1s;animation-duration:7.8s;}
@keyframes qmr-float{0%{opacity:0;transform:translateY(0);}12%{opacity:.85;}55%{opacity:.45;}100%{opacity:0;transform:translateY(-96px);}}
.qrm-pan{position:relative;display:grid;grid-template-columns:repeat(3,minmax(92px,118px));gap:6px;}
.qrm-cell{position:relative;min-height:104px;border:1px solid transparent;border-radius:10px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:2px;opacity:0;transform:scale(.9);
  transition:opacity .5s ease,transform .5s ease,border-color .5s ease,background .5s ease,box-shadow .5s ease;}
#qmRitual.p-ge .qrm-cell{opacity:1;transform:none;border-color:rgba(217,188,122,.32);background:rgba(217,188,122,.05);}
.qrm-cell.qrm-zf{border-color:rgba(217,188,122,.6);box-shadow:inset 0 0 14px rgba(217,188,122,.14);}
/* 值符原宫：p-zf 相位脉冲升起 */
#qmRitual.p-zf .qrm-zfo{border-color:rgba(217,188,122,.85);background:rgba(217,188,122,.13);
  box-shadow:inset 0 0 18px rgba(217,188,122,.28),0 0 16px rgba(217,188,122,.22);animation:qmr-zfp 1.15s ease-in-out 1;}
@keyframes qmr-zfp{0%,100%{transform:scale(1);}50%{transform:scale(1.06);}}
.qrm-g{position:absolute;top:5px;left:0;right:0;display:flex;justify-content:space-between;padding:0 8px;
  font-size:13px;line-height:1.2;color:var(--warm-ghost);opacity:0;transition:opacity .5s ease;transition-delay:var(--d,0ms);}
#qmRitual.p-ge .qrm-g{opacity:1;}
.qrm-g em{font-style:normal;}
/* 宫内层级：地盘干 → 天盘(九星大金+天盘干) → 八门 → 八神；三套推演次序 --d/--dr/--dm */
.qrm-di,.qrm-xw b,.qrm-xw i,.qrm-men,.qrm-shen{opacity:0;transition:opacity .45s ease,transform .45s ease;}
.qrm-shen{font-size:13px;color:var(--warm-dim);letter-spacing:.08em;min-height:16px;transform:translateY(-7px);
  transition-delay:var(--dr,0ms);}
.qrm-xw{display:inline-flex;align-items:baseline;gap:6px;min-height:32px;}
.qrm-xing{font-family:var(--kai);font-size:28px;line-height:1.1;color:var(--gold);
  text-shadow:0 0 14px rgba(217,188,122,.42);transform:scale(1.35);transition-delay:var(--dr,0ms);}
.qrm-xing.qrm-lg{font-size:20px;letter-spacing:.02em;}
.qrm-tg{font-style:normal;font-family:var(--kai);font-size:15px;color:var(--gold-soft);transform:translateY(8px);
  transition-delay:var(--dr,0ms);}
.qrm-men{font-size:16px;color:rgba(217,188,122,.92);letter-spacing:.1em;transform:translateX(10px);
  transition-delay:var(--dm,0ms);}
.qrm-di{font-size:14.5px;color:rgba(217,188,122,.78);letter-spacing:.08em;transform:translateY(7px);
  transition-delay:var(--d,0ms);}
#qmRitual.p-shen .qrm-shen{opacity:1;transform:none;}
#qmRitual.p-tian .qrm-xing{opacity:1;transform:none;}
#qmRitual.p-tian .qrm-tg{opacity:1;transform:none;}
#qmRitual.p-men .qrm-men{opacity:1;transform:none;}
#qmRitual.p-di .qrm-di{opacity:1;transform:none;text-shadow:0 0 10px rgba(217,188,122,.35);}
/* 天盘旋转弧光：p-tian 相位单圈扫过 */
.qrm-arc{position:absolute;left:50%;top:50%;width:122%;padding-top:122%;transform:translate(-50%,-50%);
  border:2px solid transparent;border-top-color:rgba(217,188,122,.9);border-right-color:rgba(217,188,122,.28);
  border-radius:50%;opacity:0;pointer-events:none;}
#qmRitual.p-tian .qrm-arc{animation:qmr-arc 1.35s cubic-bezier(.45,.05,.3,1) 1 both;}
@keyframes qmr-arc{0%{opacity:0;transform:translate(-50%,-50%) rotate(0deg);}15%{opacity:1;}
  82%{opacity:1;}100%{opacity:0;transform:translate(-50%,-50%) rotate(360deg);}}
/* 右侧局文标签（桌面端） */
.qmr-ju{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:22px;white-space:nowrap;
  font-size:13.5px;letter-spacing:.16em;color:rgba(217,188,122,.72);opacity:0;transition:opacity .9s ease;}
#qmRitual.fin .qmr-ju{opacity:1;}
.qmr-stat{min-height:46px;max-width:540px;text-align:center;font-size:15px;line-height:1.7;letter-spacing:.06em;
  color:var(--warm-tx);animation:qmr-fade .5s ease both;}
#qmRitual.fin .qmr-stat,#lrRitual.fin .qmr-stat{color:var(--gold);}
.qrm-stage::after{content:'局成';position:absolute;left:50%;top:50%;z-index:2;white-space:nowrap;
  transform:translate(-50%,-50%) rotate(-8deg) scale(1.6);
  width:64px;height:64px;line-height:62px;text-align:center;border:2px solid rgba(232,80,63,.85);border-radius:8px;
  color:#e8503f;font-family:var(--kai);font-size:21px;letter-spacing:.1em;font-weight:700;
  background:rgba(7,11,20,.92);opacity:0;transition:opacity .4s ease,transform .45s cubic-bezier(.2,1.4,.4,1);
  pointer-events:none;box-shadow:0 0 18px rgba(232,80,63,.25);}
#qmRitual.fin .qrm-stage::after{opacity:1;transform:translate(-50%,-50%) rotate(-8deg) scale(1);}
.qmr-skip{position:absolute;bottom:22px;left:0;right:0;text-align:center;font-size:13.5px;letter-spacing:.16em;
  color:var(--warm-ghost);}
@media (prefers-reduced-motion: reduce){
  .qrm-ring,.qrm-halo,.qrm-sp{animation:none;}
}
@media (max-width:767px){
  .qrm-pan{grid-template-columns:repeat(3,minmax(0,1fr));width:min(92vw,360px);}
  .qrm-cell{min-height:92px;}
  .qrm-xing{font-size:24px;}
  .qrm-men{font-size:15px;}
  .qrm-shen{font-size:12.5px;}
  .qrm-di{font-size:12.5px;}
  .qmr-ju{display:none;}
  .qmr-stat{font-size:14.5px;max-width:92vw;}
}

/* 大六壬 · 起课仪式：圆盘「月将加时」旋转成型（地盘落位 → 天盘旋转 → 四课 → 三传 → 课成印） */
.lrm-wrap{position:relative;}
.lrm-main{position:relative;display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap;}
.lrm-board{position:relative;width:min(66vw,300px);aspect-ratio:1/1;border-radius:50%;
  border:1px solid rgba(217,188,122,.38);background:radial-gradient(circle,rgba(217,188,122,.09),rgba(217,188,122,.02) 72%);
  box-shadow:0 0 34px rgba(217,188,122,.1),inset 0 0 26px rgba(217,188,122,.07);}
.lrm-board::before{content:'';position:absolute;inset:16%;border-radius:50%;border:1px solid rgba(217,188,122,.24);pointer-events:none;}
.lrm-z{position:absolute;font-family:var(--kai);line-height:1;
  opacity:0;transition:opacity .5s ease,transform .5s ease;}
.lrm-zd{font-size:15px;color:var(--warm-dim);transform:translate(-50%,-50%) translateY(6px);}
.lrm-zs{font-size:22px;color:var(--gold);text-shadow:0 0 12px rgba(217,188,122,.5);transform:translate(-50%,-50%) scale(1.4);}
#lrRitual.gd .lrm-zd{opacity:1;transform:translate(-50%,-50%);}
#lrRitual.gs .lrm-zs{opacity:1;transform:translate(-50%,-50%);}
.lrm-sky{position:absolute;inset:0;transition:transform 1.15s cubic-bezier(.55,.06,.28,1);}
.lrm-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;z-index:2;
  opacity:0;transition:opacity .8s ease .25s;}
#lrRitual.gs .lrm-core{opacity:1;}
.lrm-core b{display:block;font-family:var(--kai);font-size:34px;line-height:1.15;color:var(--gold);
  text-shadow:0 0 16px rgba(217,188,122,.5);}
.lrm-core i{display:block;font-style:normal;font-size:12.5px;letter-spacing:.14em;color:var(--warm-dim);
  margin-top:4px;white-space:nowrap;}
.lrm-side{display:flex;flex-direction:column;gap:14px;min-width:196px;}
.lrm-kes{display:flex;gap:14px;justify-content:center;}
.lrk{display:flex;flex-direction:column;align-items:center;gap:2px;opacity:0;transform:translateY(8px);
  transition:opacity .5s ease,transform .5s ease;}
#lrRitual.gk .lrk{opacity:1;transform:none;}
.lrk b{font-family:var(--kai);font-size:26px;line-height:1.2;color:var(--gold);text-shadow:0 0 12px rgba(217,188,122,.4);}
.lrk i{font-style:normal;font-size:16px;color:var(--warm-dim);line-height:1.2;}
.lrk em{font-style:normal;font-size:12.5px;color:var(--gold-soft);min-height:17px;}
.lrm-chuan{display:flex;gap:12px;justify-content:center;}
.lrc{display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 12px 6px;border:1px solid rgba(217,188,122,.3);
  border-radius:9px;background:rgba(217,188,122,.05);opacity:0;transform:translateY(-10px) scale(1.15);
  transition:opacity .5s ease,transform .5s cubic-bezier(.2,1.3,.4,1);}
#lrRitual.gc .lrc{opacity:1;transform:none;}
.lrc-first{border-color:rgba(217,188,122,.65);box-shadow:inset 0 0 12px rgba(217,188,122,.13);}
.lrc span{font-size:12.5px;letter-spacing:.2em;text-indent:.2em;color:var(--warm-dim);}
.lrc b{font-family:var(--kai);font-size:27px;line-height:1.2;color:var(--gold);text-shadow:0 0 12px rgba(217,188,122,.45);}
.lrm-geju{display:flex;align-items:center;justify-content:center;gap:12px;opacity:0;transition:opacity .6s ease;margin-top:2px;}
#lrRitual.fin .lrm-geju{opacity:1;}
.lrm-seal{flex:0 0 auto;width:44px;height:44px;line-height:40px;text-align:center;border:2px solid rgba(232,80,63,.85);
  border-radius:7px;color:#e8503f;font-family:var(--kai);font-size:15px;letter-spacing:.06em;font-weight:700;white-space:nowrap;
  background:rgba(232,80,63,.07);transform:rotate(-8deg);box-shadow:0 0 14px rgba(232,80,63,.25);}
.lrm-gj b{display:block;font-family:var(--kai);font-size:21px;color:var(--gold);letter-spacing:.14em;}
.lrm-gj i{display:block;font-style:normal;font-size:12.5px;color:var(--warm-dim);letter-spacing:.1em;}
@media (max-width:767px){
  .lrm-board{width:min(84vw,290px);}
  .lrm-side{min-width:0;width:100%;}
  .lrm-kes{gap:10px;}
  .lrk b{font-size:23px;}
  .lrc b{font-size:24px;}
  .lrm-core b{font-size:30px;}
  .lrm-core i{font-size:12px;}
}

/* ================= 大六壬 ================= */
/* 天地盘：4×4 网格，中宫 2×2。天盘支金在上，地盘支灰在下 */
.lr-pan{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;max-width:440px;margin:0 auto;position:relative;}
.lr-pan::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 45%,rgba(217,188,122,.09),transparent 70%);pointer-events:none;}
.lr-cell{position:relative;border:1px solid rgba(217,188,122,.22);border-radius:10px;padding:7px 4px 4px;
  display:flex;flex-direction:column;align-items:center;background:rgba(217,188,122,.04);min-height:64px;}
.lr-tp{font-family:var(--kai);font-size:24px;line-height:1.1;color:var(--gold);text-shadow:0 0 10px rgba(217,188,122,.25);}
.lr-dp{font-size:13px;color:var(--ink-faint);letter-spacing:.1em;}
.lr-cell.lr-kong{opacity:.62;}
.lr-cell.lr-gui{border-color:var(--gold-soft);background:rgba(217,188,122,.09);box-shadow:inset 0 0 12px rgba(217,188,122,.12);}
.lr-cell.lr-chu{border-color:rgba(232,80,63,.5);}
.lr-cell .qp-badges{position:absolute;top:3px;right:4px;min-height:0;}
.lr-core{grid-row:2/4;grid-column:2/4;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  border:1px dashed rgba(217,188,122,.3);margin:2px;}
.lr-core b{font-family:var(--kai);font-size:26px;color:var(--gold);letter-spacing:.1em;text-shadow:0 0 18px rgba(217,188,122,.3);}
.lr-core span{font-size:14px;color:var(--warm-tx);letter-spacing:.08em;}
.lr-core .lr-core-sub{font-size:13.5px;color:var(--cinnabar);letter-spacing:.14em;}
/* 三传卡 */
.lr-chuan{display:flex;gap:8px;max-width:440px;margin:0 auto;}
.lc-card{flex:1;border:1px solid rgba(217,188,122,.24);border-radius:12px;padding:12px 6px 10px;text-align:center;background:rgba(217,188,122,.04);}
.lc-card.lc-first{border-color:rgba(217,188,122,.55);background:rgba(217,188,122,.08);}
.lc-k{display:block;font-size:13px;letter-spacing:.3em;text-indent:.3em;color:var(--ink-faint);}
.lc-zhi{display:block;font-family:var(--kai);font-size:38px;color:var(--gold);line-height:1.25;text-shadow:0 0 14px rgba(217,188,122,.3);}
.lc-first .lc-zhi{color:#e8b96a;}
.lc-j{display:block;font-size:14px;color:var(--warm-tx);letter-spacing:.12em;margin-top:2px;}
.lc-x{display:block;font-size:13.5px;color:var(--ink-faint);margin-top:3px;letter-spacing:.04em;}
/* 四课列（一课在最右） */
.lr-ke{display:flex;gap:8px;max-width:440px;margin:0 auto;}
.lk-col{flex:1;border:1px solid rgba(217,188,122,.2);border-radius:12px;padding:10px 4px 9px;text-align:center;background:rgba(217,188,122,.03);}
.lk-no{display:block;font-size:12.5px;letter-spacing:.2em;color:var(--ink-faint);}
.lk-up{display:block;font-family:var(--kai);font-size:30px;color:var(--gold);line-height:1.3;text-shadow:0 0 12px rgba(217,188,122,.25);}
.lk-j{display:block;font-size:13.5px;color:var(--warm-tx);letter-spacing:.1em;}
.lk-rel{display:block;font-size:12.5px;color:var(--ink-faint);margin-top:4px;letter-spacing:.05em;}
.lk-rel.lk-ke{color:#e8786c;font-weight:700;}
.lk-dn{display:block;font-size:15px;color:var(--warm-dim);margin-top:4px;letter-spacing:.08em;}
@media (max-width:767px){
  .lr-pan{gap:4px;max-width:none;}
  .lr-cell{min-height:58px;padding:5px 2px 4px;border-radius:8px;}
  .lr-tp{font-size:21px;}
  .lr-dp{font-size:12.5px;}
  .lr-core b{font-size:22px;}
  .lr-chuan,.lr-ke{gap:5px;max-width:none;}
  .lc-zhi{font-size:32px;}
  .lk-up{font-size:25px;}
  .lc-j,.lk-j{font-size:13px;}
  .lc-x{font-size:12.5px;}
}

/* ================= 课程研习：八门 × 三级 ================= */
/* 层层深入版（20260920m）：壹择门 → 贰择深浅 → 叁看课程 */
.st-stephead{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:20px 0 12px;}
.st-stephead b{font-family:var(--kai);font-size:18px;color:var(--gold);border:1px solid var(--line);border-radius:6px;padding:2px 7px 3px;line-height:1;}
.st-stephead span{font-family:var(--kai);font-size:20px;letter-spacing:.2em;color:var(--warm-hi);}
.st-stephead i{font-style:normal;font-size:13.5px;color:var(--ink-faint);}
.st-flow{min-height:52vh;}
.st-crumbs,.st-crumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;margin:2px 0 6px;}
.st-crumb button,.st-crumb a{background:none;border:none;color:rgba(217,188,122,.85);cursor:pointer;font-size:14px;padding:4px 2px;letter-spacing:.06em;text-decoration:none;}
.st-crumb button:hover,.st-crumb a:hover{color:var(--gold);}
.st-crumb i{font-style:normal;color:var(--ink-faint);opacity:.7;}
.st-crumb span{color:var(--ink-faint);}
.st-crumb span.cur{color:var(--warm-tx);}
/* 分组小标：五术正传 / 旁通三门（课程目录与自定义面板共用） */
.st-grp{display:flex;align-items:center;gap:10px;margin:17px 0 9px;}
.st-grp:first-child{margin-top:4px;}
.st-grp span{flex:0 0 auto;font-family:var(--kai);font-size:14px;letter-spacing:.22em;color:var(--gold-soft);}
.st-grp::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--line-soft),transparent);}
.st-cats{display:flex;flex-direction:column;gap:9px;}
.st-cat{position:relative;display:flex;align-items:center;gap:14px;padding:13px 15px;background:var(--panel);
  border:1px solid var(--line-soft);border-radius:12px;color:inherit;cursor:pointer;text-align:left;
  transition:border-color .3s,transform .3s,box-shadow .3s;}
.st-cat:hover{transform:translateY(-2px);border-color:var(--line);box-shadow:0 0 16px rgba(217,188,122,.14);}
.st-cat:active{transform:translateY(0);}
.stc-ch{flex:0 0 auto;font-family:var(--kai);font-size:28px;line-height:1;color:var(--gold);text-shadow:0 0 12px rgba(217,188,122,.3);}
.stc-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.stc-tx b{font-size:16.5px;letter-spacing:.04em;}
.stc-tx i{font-style:normal;font-size:13.5px;color:var(--ink-faint);line-height:1.5;}
.stc-ar{flex:0 0 auto;font-style:normal;font-size:22px;line-height:1;color:rgba(217,188,122,.55);}
/* 八门分类卡 · 图片底 */
.st-cat-img{min-height:88px;padding:15px 18px;overflow:hidden;background-size:cover;background-position:center;
  border-color:rgba(217,188,122,.16);isolation:isolate;text-decoration:none;color:inherit;}
.stc-veil{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(10,12,18,.86) 0%,rgba(10,12,18,.62) 46%,rgba(10,12,18,.30) 100%);}
.st-cat-img:hover{box-shadow:0 6px 22px rgba(217,188,122,.18);border-color:rgba(217,188,122,.4);}
.st-cat-img .stc-ch{font-size:32px;text-shadow:0 0 16px rgba(217,188,122,.5);}
.st-cat-img .stc-tx b{font-size:17.5px;text-shadow:0 1px 8px rgba(0,0,0,.6);}
.st-cat-img .stc-tx i{font-size:14px;color:rgba(240,232,215,.85);text-shadow:0 1px 6px rgba(0,0,0,.6);}
.st-cat-img .stc-ar{color:rgba(240,224,190,.85);}

/* 入门传习 · 宫格 */
.st-ig-t{margin-top:22px;}
.st-ig-t h3,.st-flow-t h3{font-family:var(--kai);font-size:21px;letter-spacing:.2em;color:var(--gold);font-weight:700;}
.st-flow-t{margin-top:26px;}
.st-igrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:12px;}
.st-icard{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line-soft);border-radius:13px;
  overflow:hidden;color:inherit;text-decoration:none;cursor:pointer;padding:0;text-align:left;
  transition:border-color .3s,transform .3s,box-shadow .3s;}
.st-icard:hover{transform:translateY(-3px);border-color:rgba(217,188,122,.42);box-shadow:0 8px 24px rgba(217,188,122,.16);}
.sti-cov{position:relative;display:block;aspect-ratio:16/9;background-size:cover;background-position:center;isolation:isolate;}
.sti-veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,12,18,.05) 30%,rgba(10,12,18,.72) 100%);}
.sti-ch{position:absolute;left:10px;bottom:6px;font-family:var(--kai);font-size:30px;line-height:1;color:#f0e2b6;
  text-shadow:0 0 14px rgba(217,188,122,.55),0 1px 6px rgba(0,0,0,.7);}
.sti-bd{position:absolute;right:8px;top:8px;font-style:normal;font-size:12.5px;letter-spacing:.08em;padding:3px 9px;border-radius:999px;
  background:rgba(10,12,18,.72);border:1px solid rgba(217,188,122,.45);color:rgba(240,232,215,.92);backdrop-filter:blur(3px);}
.sti-bd.on{background:linear-gradient(135deg,#a33227,#7d231b);border-color:rgba(240,196,122,.65);color:#ffe9bd;
  box-shadow:0 2px 10px rgba(163,50,39,.45);}
.sti-tx{display:flex;flex-direction:column;gap:4px;padding:11px 12px 13px;}
.sti-tx b{font-size:16.5px;letter-spacing:.04em;color:var(--warm-hi);}
.sti-tx i{font-style:normal;font-size:13.5px;color:var(--ink-faint);line-height:1.5;}
.st-intro{margin-bottom:4px;}
.st-intro .reading h4{font-family:var(--kai);font-size:19px;color:var(--gold);letter-spacing:.1em;margin-bottom:6px;}
.st-intro .reading p{margin:0;}
/* 层二 · 本门入门剧情横幅（封面图底，免费可玩/即将上线） */
.st-li{position:relative;isolation:isolate;display:flex;align-items:center;gap:14px;min-height:86px;padding:14px 18px;margin:12px 0 4px;
  border-radius:13px;border:1px solid rgba(217,188,122,.16);background:var(--panel) center/cover no-repeat;overflow:hidden;
  color:inherit;text-decoration:none;cursor:pointer;text-align:left;
  transition:border-color .3s,transform .3s,box-shadow .3s;}
.st-li:hover{transform:translateY(-2px);border-color:rgba(217,188,122,.4);box-shadow:0 6px 22px rgba(217,188,122,.18);}
.st-li.off{opacity:.72;cursor:default;}
.st-li.off:hover{transform:none;border-color:rgba(217,188,122,.16);box-shadow:none;}
.st-li .stc-ch{font-size:30px;text-shadow:0 0 16px rgba(217,188,122,.5);position:relative;z-index:1;}
.st-li .stc-ar{color:rgba(240,224,190,.85);position:relative;z-index:1;}
.st-li .sti-bd{z-index:2;}
.stli-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;position:relative;z-index:1;}
.stli-tx em{font-style:normal;font-size:12.5px;letter-spacing:.16em;color:rgba(217,188,122,.88);}
.stli-tx b{font-size:17.5px;letter-spacing:.04em;text-shadow:0 1px 8px rgba(0,0,0,.6);}
.stli-tx i{font-style:normal;font-size:14px;color:rgba(240,232,215,.85);text-shadow:0 1px 6px rgba(0,0,0,.6);}
.stli-tx u{text-decoration:none;font-size:15px;letter-spacing:.06em;color:#e8503f;margin-top:2px;text-shadow:0 1px 6px rgba(0,0,0,.6);}
/* 层二 · 分级卡图片底 */
.st-lv-img{position:relative;isolation:isolate;min-height:76px;overflow:hidden;border-radius:12px;
  background-size:cover;background-position:center;border-color:rgba(217,188,122,.16);}
.stlv-veil{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(10,12,18,.9) 0%,rgba(10,12,18,.74) 46%,rgba(10,12,18,.46) 100%);}
.st-lv-img:hover{border-color:rgba(217,188,122,.4);box-shadow:0 6px 22px rgba(217,188,122,.18);}
.st-lv-img .stl-no{border-color:rgba(217,188,122,.5);color:var(--gold);background:rgba(10,12,18,.5);text-shadow:0 1px 6px rgba(0,0,0,.6);position:relative;z-index:1;}
.st-lv-img .stl-tx b{font-size:17.5px;text-shadow:0 1px 8px rgba(0,0,0,.6);}
.st-lv-img .stl-tx i{font-size:13.5px;color:rgba(240,232,215,.85);text-shadow:0 1px 6px rgba(0,0,0,.6);}
.st-lv-img .stl-m{background:rgba(10,12,18,.55);border-style:solid;border-color:rgba(217,188,122,.35);position:relative;z-index:1;}
.st-lvs{display:flex;flex-direction:column;gap:9px;}
.st-lvcard{display:flex;align-items:center;gap:14px;padding:15px 16px;background:var(--panel);border:1px solid var(--line-soft);
  border-radius:12px;color:inherit;cursor:pointer;text-align:left;text-decoration:none;transition:border-color .3s,transform .3s,box-shadow .3s;}
.st-lvcard:hover{transform:translateY(-2px);border-color:var(--line);box-shadow:0 0 16px rgba(217,188,122,.14);}
.stl-no{flex:0 0 38px;height:38px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
  font-style:normal;font-family:var(--kai);font-size:16px;color:var(--gold);}
.stl-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.stl-tx b{font-size:17.5px;letter-spacing:.1em;}
.stl-tx i{font-style:normal;font-size:13px;color:var(--ink-faint);line-height:1.5;}
.stl-m{flex:0 0 auto;font-style:normal;font-size:13px;color:var(--gold);border:1px dashed var(--line-soft);border-radius:99px;padding:3px 10px;white-space:nowrap;}
.st-head2{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:6px 0 12px;}
.st-head2 h3{font-family:var(--kai);font-size:20px;letter-spacing:.12em;color:var(--warm-hi);}
.st-head2 span{font-size:13.5px;color:var(--gold);letter-spacing:.05em;}
.st-planf{margin-top:14px;}
.st-planf summary b{font-size:16px;}
.st-back-row{display:flex;gap:10px;justify-content:center;margin-top:18px;}
.wu-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:14px 0 4px;}
.wu-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:16px 6px 12px;
  background:var(--panel);border:1px solid var(--line-soft);border-radius:14px;color:inherit;cursor:pointer;
  transition:border-color .3s,box-shadow .3s,transform .3s;}
.wu-card b{font-family:var(--kai);font-size:30px;line-height:1.1;color:var(--gold);text-shadow:0 0 12px rgba(217,188,122,.3);}
.wu-card span{font-size:14px;letter-spacing:.08em;color:var(--ink);}
.wu-card i{font-style:normal;font-size:12.5px;color:var(--ink-faint);text-align:center;line-height:1.4;}
.wu-card:hover{transform:translateY(-3px);border-color:var(--line);}
.wu-card.on{border-color:var(--gold-soft);box-shadow:0 0 18px rgba(217,188,122,.22),inset 0 0 16px rgba(217,188,122,.08);}
.st-lv{margin:14px auto 4px;display:flex;justify-content:center;max-width:560px;}
.st-lv button{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;padding:10px 6px;}
.st-lv button b{font-size:16.5px;letter-spacing:.1em;}
.st-lv button i{font-style:normal;font-size:12.5px;opacity:.72;}
.st-detail{margin-top:14px;}
.st-head .reading p{margin:0;}
.st-sum{margin-top:10px;text-align:center;font-size:14.5px;color:var(--gold);letter-spacing:.06em;}
.st-courses{margin-top:12px;display:flex;flex-direction:column;gap:8px;}
.st-course{display:flex;align-items:center;gap:12px;padding:13px 14px;background:var(--panel);
  border:1px solid var(--line-soft);border-radius:12px;}
.st-no{flex:0 0 34px;height:34px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
  font-family:var(--kai);font-size:15px;color:var(--gold);}
.st-cinfo{flex:1;min-width:0;}
.st-cinfo b{font-size:16.5px;letter-spacing:.02em;}
.st-cinfo p{font-size:14px;color:var(--ink-faint);margin-top:2px;line-height:1.6;}
.st-w{flex:0 0 auto;font-size:13.5px;color:var(--gold);border:1px dashed var(--line-soft);border-radius:99px;padding:3px 10px;}
.st-play{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-top:9px;
  background:rgba(232,80,63,.10);border:1px solid rgba(232,80,63,.45);border-radius:10px;text-decoration:none;transition:background .2s;}
.st-play:hover{background:rgba(232,80,63,.18);}
.st-play em{font-style:normal;font-size:15.5px;font-weight:500;color:#e8503f;letter-spacing:.06em;white-space:nowrap;flex:0 0 auto;}
.st-play span{font-size:14px;color:var(--ink-faint);}
.st-plan{margin-top:14px;padding:14px 14px 6px;background:rgba(217,188,122,.05);border:1px dashed var(--line-soft);border-radius:12px;}
.st-plan h4{font-size:15.5px;letter-spacing:.08em;color:var(--gold);margin-bottom:8px;}
.st-plan-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line-soft);font-size:14.5px;}
.st-plan-row:last-child{border-bottom:none;}
.st-plan-row b{flex:0 0 auto;color:var(--gold);font-size:13.5px;min-width:52px;}
.st-plan-row span{flex:1;min-width:0;}
.st-plan-row i{font-style:normal;flex:0 0 auto;color:var(--ink-faint);font-size:13px;}
/* 内容版图（四宫格可点击筛选 · 剧照图底） */
.st-map-h{margin-top:18px;font-size:15.5px;letter-spacing:.1em;color:var(--gold);}
.st-map{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px;}
.st-map-slot{position:relative;isolation:isolate;background:var(--panel) center/cover no-repeat;
  border:1px solid var(--line-soft);border-radius:11px;padding:12px 13px;min-height:96px;overflow:hidden;
  font:inherit;text-align:left;color:inherit;cursor:pointer;transition:border-color .25s,box-shadow .25s,transform .25s;}
.st-map-slot:hover{transform:translateY(-2px);border-color:rgba(217,188,122,.45);box-shadow:0 6px 20px rgba(217,188,122,.15);}
.st-map-slot.on{border-color:var(--gold-soft);box-shadow:0 4px 18px rgba(217,188,122,.22);}
.st-map-slot.on b::after{content:'·';margin-left:6px;color:#e8503f;}
.st-map-veil{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(10,12,18,.88) 0%,rgba(10,12,18,.72) 48%,rgba(10,12,18,.42) 100%);}
.st-map-slot b{display:block;font-size:14.5px;letter-spacing:.05em;margin-bottom:4px;color:#f0e2b6;
  text-shadow:0 1px 8px rgba(0,0,0,.65);}
.st-map-slot .st-map-tx{display:block;font-size:13.5px;color:rgba(240,232,215,.88);line-height:1.55;
  text-shadow:0 1px 6px rgba(0,0,0,.65);}
.st-map-slot.lock{border-style:dashed;border-color:rgba(217,188,122,.4);}
.st-map-sub{display:flex;align-items:baseline;gap:10px;margin-top:16px;}
.st-map-sub b{font-size:16px;letter-spacing:.08em;color:var(--gold);}
.st-map-sub span{font-size:13px;color:var(--ink-faint);}
/* 选中分类的课程宫格 */
.st-cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:11px;margin-top:10px;}
.st-ccard{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line-soft);
  border-radius:12px;overflow:hidden;color:inherit;transition:border-color .3s,transform .3s,box-shadow .3s;}
.st-ccard:hover{transform:translateY(-3px);border-color:rgba(217,188,122,.42);box-shadow:0 8px 24px rgba(217,188,122,.16);}
.st-ccard-link{cursor:pointer;text-decoration:none;}
.st-c-cov{position:relative;display:block;aspect-ratio:16/9;background-size:cover;background-position:center;isolation:isolate;}
.st-c-play{position:absolute;right:10px;bottom:9px;z-index:1;width:34px;height:34px;border-radius:50%;
  background:rgba(10,12,18,.66);border:1px solid rgba(240,196,122,.65);backdrop-filter:blur(3px);}
.st-c-play::after{content:'';position:absolute;left:13px;top:10px;border-left:11px solid #f0c47a;
  border-top:7px solid transparent;border-bottom:7px solid transparent;}
.st-ccard-link:hover .st-c-play{background:rgba(163,50,39,.85);border-color:#ffe9bd;}
.st-c-no{position:absolute;left:11px;bottom:7px;z-index:1;font-family:var(--kai);font-style:normal;font-size:24px;line-height:1;
  color:#f0e2b6;text-shadow:0 0 14px rgba(217,188,122,.55),0 1px 6px rgba(0,0,0,.7);}
.st-c-tx{display:block;padding:11px 13px 13px;}
.st-c-tx b{display:block;font-size:16px;letter-spacing:.02em;color:var(--warm-hi);}
.st-c-tx p{margin:4px 0 0;font-size:13.5px;color:var(--ink-faint);line-height:1.6;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.st-c-empty{grid-column:1/-1;display:flex;align-items:center;justify-content:center;min-height:120px;
  background:var(--panel);border:1px dashed var(--line-soft);border-radius:12px;
  font-size:14.5px;color:var(--ink-faint);letter-spacing:.04em;padding:20px;text-align:center;}
/* 顺序锁：前面课没读完的课卡——变暗 + 锁标，点了直接送去该读的那一课 */
.st-ccard.st-seq{opacity:.66;}
.st-ccard.st-seq:hover{transform:none;border-color:var(--line-soft);box-shadow:none;}
.st-ccard.st-seq .st-c-play{display:none;}
.st-seq-tag,.st-soon-tag,.st-pro-tag{display:inline-block;margin-top:7px;font-style:normal;font-size:12px;
  letter-spacing:.04em;border-radius:99px;padding:1px 9px;}
.st-seq-tag{color:#e0b352;border:1px solid rgba(217,188,122,.45);background:rgba(217,188,122,.10);}
/* 付费课徽章（2026-10-14）：付费卡点只在剧本内部第 3 章才出现，
   列表上必须让用户看出「这门要收费、但前 2 章能试看」，否则试看入口等于不存在。 */
.st-pro-tag{color:var(--gold);border:1px solid rgba(217,188,122,.55);background:rgba(217,188,122,.14);
  font-weight:500;}
body.day .st-pro-tag{color:#8a6420;border-color:rgba(138,100,32,.42);background:rgba(138,100,32,.09);}
/* 后台专属登录页（2026-10-14）：窄幅、克制、无营销文案，与前台登录明显区分 */
.adm-login{max-width:470px;margin:0 auto;padding-top:22px;}
.adm-login .auth-card{box-shadow:0 18px 50px rgba(0,0,0,.45);}
.adm-login .auth-head{display:none;}
.adm-l-foot{margin-top:16px;text-align:center;font-size:12px;color:var(--ink-faint);letter-spacing:.05em;}
.st-seq-nudge{animation:seqNudge .42s ease;}
@keyframes seqNudge{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
/* 筹备中的课（有课表条目、内容和工具都还没做）：中性色标识，点了给一句话说明 */
.st-ccard.st-soon{cursor:pointer;}
.st-ccard.st-soon .st-c-play{display:none;}
.st-ccard.st-soon:hover{border-color:var(--line);}
.st-soon-tag{letter-spacing:.06em;color:var(--ink-faint);border:1px dashed var(--line);
  background:rgba(255,255,255,.045);}
body.day .st-soon-tag{background:rgba(0,0,0,.035);color:#6d6353;border-color:rgba(0,0,0,.16);}
/* 折叠课程堆（未开年卡：占位叠层卡，暗示后继已排期；会员：持续更新条） */
.st-deck-cov{background:
  radial-gradient(120% 90% at 50% 0%,rgba(217,188,122,.14),transparent 58%),
  linear-gradient(168deg,rgba(28,31,44,.96),rgba(15,17,25,.98));}
.st-deck-cov::before,.st-deck-cov::after{content:'';position:absolute;left:50%;transform:translateX(-50%);
  height:9px;border:1px solid rgba(217,188,122,.32);background:rgba(22,24,35,.88);border-radius:7px;}
.st-deck-cov::before{width:80%;top:7px;}
.st-deck-cov::after{width:66%;top:19px;opacity:.55;}
.st-deck-stamp{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%) rotate(-6deg);
  width:52px;height:52px;display:flex;align-items:center;justify-content:center;
  font-family:var(--kai);font-size:29px;color:var(--gold);border:2px solid rgba(217,188,122,.62);border-radius:9px;
  background:rgba(10,12,18,.55);box-shadow:0 0 18px rgba(217,188,122,.22),inset 0 0 10px rgba(217,188,122,.12);
  letter-spacing:0;text-shadow:0 0 12px rgba(217,188,122,.5);}
.st-deck-tag{position:absolute;left:10px;top:9px;z-index:1;padding:3px 9px;border-radius:99px;
  font-size:12.5px;letter-spacing:.06em;color:#f0e2b6;background:rgba(10,12,18,.62);
  border:1px solid rgba(217,188,122,.42);backdrop-filter:blur(3px);}
.st-upd{grid-column:1/-1;flex-direction:row;align-items:center;border-style:dashed;
  border-color:rgba(217,188,122,.4);background:rgba(217,188,122,.05);}
.st-upd .st-c-tx{padding:14px 16px;}
.st-upd .st-c-tx b{color:var(--gold);}
body.day .st-deck-cov{background:
  radial-gradient(120% 90% at 50% 0%,rgba(122,96,40,.12),transparent 58%),
  linear-gradient(168deg,rgba(238,232,218,.95),rgba(224,216,198,.98));}
body.day .st-deck-cov::before,body.day .st-deck-cov::after{background:rgba(255,252,244,.9);
  border-color:rgba(122,96,40,.32);}
body.day .st-deck-stamp{color:#8a6a2e;border-color:rgba(122,96,40,.55);
  background:rgba(255,252,244,.6);box-shadow:0 0 14px rgba(122,96,40,.18);text-shadow:none;}
body.day .st-deck-tag{color:#6b5322;background:rgba(255,252,244,.75);border-color:rgba(122,96,40,.4);}
body.day .st-upd{background:rgba(122,96,40,.06);border-color:rgba(122,96,40,.4);}
body.day .st-upd .st-c-tx b{color:#7a6028;}
body.day .st-upd .st-c-tx p{color:#6d6353;}
@media (max-width:767px){
  .st-deck-stamp{width:46px;height:46px;font-size:25px;}
}
/* ============ 深度解读 · 按盘解锁（chart-pay.js） ============ */
/* 锁定区限高截断：超高层元素在软渲染 webview 里 blur 会被光栅化预算截断（下半段漏清），
   限高后模糊面积可控；底部渐隐盖住截断边，解锁后移除类恢复全高 */
.cz-locked{position:relative;max-height:560px;overflow:hidden;}
.cz-locked::after{content:'';position:absolute;left:0;right:0;bottom:0;height:130px;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,rgba(7,11,20,0),#070b14 88%);}
/* 2026-10-09 用户反馈：浅模糊还能认出字、半截清楚半截模糊不好看 → 加重成整块磨砂（完全读不清），
   veil 同步加深让整块读作一个面；限高截断保留（软渲染 webview 的光栅化预算保护） */
.cz-locked>*:not(.cz-veil):not(.cz-extra-bar){filter:blur(13px) saturate(.82);opacity:.88;pointer-events:none;user-select:none;}
.cz-veil{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,rgba(8,10,16,.38),rgba(8,10,16,.66));border-radius:12px;}
.cz-card{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;
  padding:22px 28px;background:rgba(16,18,26,.94);border:1px solid rgba(217,188,122,.5);border-radius:14px;
  box-shadow:0 10px 40px rgba(0,0,0,.5);max-width:340px;}
.cz-ic{font-size:26px;line-height:1;}
/* extra 归拢区：顶部细条（同流年日历款，读作同一份解锁的延续）+ 纯磨砂幕（无卡） */
.cz-extra-bar{position:relative;z-index:6;margin:0 0 12px;}
.cz-extra-bar .btn-line{flex:0 0 auto;padding:6px 13px;font-size:13px;}
.cz-veil-ghost{background:linear-gradient(180deg,rgba(8,10,16,.30),rgba(8,10,16,.56));}
.cz-card b{font-family:var(--kai);font-size:19px;letter-spacing:.08em;color:#e9cd8c;}
.cz-card p{margin:0;font-size:13.5px;line-height:1.7;color:var(--ink-faint);}
.cz-card .btn-gold{margin-top:4px;}
.cz-hint{font-size:12px;color:var(--ink-faint);opacity:.85;}
.res-chips button{position:relative;}
.res-chips .cz-dot{font-style:normal;font-size:10.5px;margin-left:4px;opacity:.92;}
.zw-cal{position:relative;}
.zw-cal.cz-cal-lock .cal-read>*{filter:blur(13px) saturate(.82);opacity:.88;pointer-events:none;user-select:none;}
.cz-calbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  margin-top:10px;padding:10px 13px;border:1px dashed rgba(217,188,122,.45);border-radius:10px;
  background:rgba(217,188,122,.06);font-size:13.5px;color:#e9cd8c;}
.cz-calbar .btn-line{flex:0 0 auto;padding:6px 13px;font-size:13px;}
body.day .cz-veil{background:linear-gradient(180deg,rgba(252,248,238,.5),rgba(252,248,238,.76));}
body.day .cz-locked::after{background:linear-gradient(180deg,rgba(247,242,230,0),#f7f2e6 88%);}
body.day .cz-card{background:rgba(255,252,244,.96);border-color:rgba(122,96,40,.5);
  box-shadow:0 10px 36px rgba(80,60,20,.25);}
body.day .cz-card b{color:#7a6028;}
body.day .cz-calbar{color:#6b5322;background:rgba(122,96,40,.06);border-color:rgba(122,96,40,.4);}
@media (max-width:767px){
  .cz-card{padding:16px 18px;max-width:300px;}
  .cz-card b{font-size:17px;}
}
.st-hint{text-align:center;margin-top:16px;}
@media (max-width:767px){
  .st-stephead{margin:16px 0 11px;gap:8px;}
  .st-stephead b{font-size:16px;padding:2px 6px;}
  .st-stephead span{font-size:18px;letter-spacing:.16em;}
  .st-stephead i{flex-basis:100%;font-size:13px;}
  .st-grp{margin:15px 0 8px;}
  .st-grp span{font-size:13.5px;letter-spacing:.18em;}
  .st-cats{gap:8px;}
  .st-cat{padding:12px 13px;gap:11px;}
  .stc-ch{font-size:25px;}
  .stc-tx b{font-size:16px;}
  .stc-tx i{font-size:13px;}
  .st-lvcard{padding:13px 13px;gap:11px;flex-wrap:wrap;}
  .stl-no{flex-basis:34px;height:34px;font-size:15px;}
  .stl-tx{flex-basis:calc(100% - 90px);}
  .stl-tx b{font-size:16.5px;}
  .stl-m{flex-basis:auto;}
  .st-head2 h3{font-size:18px;}
  .st-back-row .btn-line{flex:1;}
  .wu-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;}
  .wu-card{padding:11px 3px 9px;border-radius:10px;}
  .wu-card b{font-size:24px;}
  .wu-card span{font-size:12px;}
  .wu-card i{display:none;}
  .st-course{padding:11px 10px;gap:9px;}
  .st-cinfo b{font-size:15.5px;}
  .st-map{gap:8px;}
  .st-map-slot{padding:10px 11px;min-height:88px;}
  .st-map-slot b{font-size:14.5px;}
  .st-map-slot .st-map-tx{font-size:14px;}
  .st-map-sub b{font-size:15px;}
  .st-map-sub span{font-size:13.5px;}
  .st-cgrid{grid-template-columns:1fr;gap:9px;}
  .st-c-tx b{font-size:15.5px;}
  .st-c-tx p{font-size:14px;}
  .st-c-empty{font-size:14px;}
  .st-cinfo p{font-size:13.5px;}
  .st-cat-img{min-height:80px;padding:13px 14px;gap:11px;}
  .st-cat-img .stc-ch{font-size:28px;}
  .st-cat-img .stc-tx b{font-size:16px;}
  .st-cat-img .stc-tx i{font-size:13.5px;}
  .st-igrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .sti-ch{font-size:26px;}
  .sti-bd{font-size:12px;padding:2px 8px;}
  .sti-tx b{font-size:16px;}
  .sti-tx i{font-size:13.5px;}
  .st-li{min-height:80px;padding:13px 14px;gap:11px;margin-top:10px;}
  .st-li .stc-ch{font-size:26px;}
  .stli-tx em{font-size:12px;}
  .stli-tx b{font-size:16px;}
  .stli-tx i{font-size:13.5px;}
  .stli-tx u{font-size:14px;}
  .st-lv-img{min-height:72px;}
  .st-lv-img .stl-tx b{font-size:16.5px;}
}

/* ---------- 音藥 · 五音靜心 ---------- */
.mu-slogan{font-size:19px;color:var(--gold);letter-spacing:.12em;margin-top:14px;}
/* 432Hz 特色徽章（2026-10-10）：金底胶囊 + 呼吸辉光，全库实测标准音是本站特色 */
.mu-hz{display:inline-flex;align-items:center;gap:7px;font-style:normal;font-weight:700;
  font-size:15px;letter-spacing:.1em;color:#141518;padding:5px 15px;border-radius:999px;
  background:linear-gradient(140deg,#ffe9b8,#d9bc7a 55%,#b9924a);
  box-shadow:0 0 12px rgba(217,188,122,.4),inset 0 0 0 1px rgba(255,255,255,.35);
  animation:muHz 3.2s ease-in-out infinite;white-space:nowrap;transform:translateY(-2px);}
.mu-hz::before{content:'';width:7px;height:7px;border-radius:50%;background:#141518;opacity:.7;
  box-shadow:0 0 8px rgba(255,233,184,.95);animation:muHzDot 1.6s ease-in-out infinite;}
@keyframes muHz{0%,100%{box-shadow:0 0 10px rgba(217,188,122,.35),inset 0 0 0 1px rgba(255,255,255,.35);}
  50%{box-shadow:0 0 24px rgba(255,214,122,.8),inset 0 0 0 1px rgba(255,255,255,.55);}}
@keyframes muHzDot{0%,100%{opacity:.4;}50%{opacity:1;}}
body.day .mu-hz{color:#2a2010;background:linear-gradient(140deg,#f2d488,#c9a558 60%,#a5822f);}
@media (max-width:640px){.mu-hz{font-size:13.5px;padding:4px 12px;}}
.mu-zones{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px;}
.mu-zones-5{grid-template-columns:repeat(5,1fr);}
.mu-zones-3{grid-template-columns:repeat(3,1fr);}
@media(max-width:900px){.mu-zones{grid-template-columns:repeat(2,1fr);gap:12px;}.mu-zones-5{grid-template-columns:repeat(3,1fr);}}
@media(max-width:640px){.mu-zones-5{grid-template-columns:repeat(2,1fr);}
  .mu-zc .mu-ze{letter-spacing:.14em;}   /* 「角音 · 木 · 怒」窄卡不断行（提高优先级压过 .32em） */
  .mu-zc .mu-zt{letter-spacing:.2em;}}
.mu-zc{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);
  min-height:190px;padding:20px 18px;text-align:left;background-size:cover;background-position:center;
  color:var(--ink);font-family:inherit;transition:transform .15s;}
.mu-zc-s{min-height:168px;padding:16px 14px;}
.mu-zc-s .mu-zt{font-size:22px;letter-spacing:.18em;}
.mu-zc-s .mu-zd{font-size:14.5px;margin-top:8px;}
.mu-cat{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel);}
.mu-cat-head{position:relative;display:flex;align-items:center;gap:16px;background-size:cover;background-position:center;padding:22px 22px;}
.mu-cat-head>div{position:relative;}
.mu-cat-head b{font-size:24px;color:var(--gold);letter-spacing:.2em;}
.mu-cat-head i{font-style:normal;font-size:14px;letter-spacing:.3em;color:var(--gold-soft);margin-left:12px;}
.mu-cat-head p{font-size:16px;color:var(--ink-faint);margin-top:4px;}
.mu-cat-hint{font-size:15px;color:var(--ink-faint);opacity:.8;text-align:center;padding:18px 0;}
.mu-crumb{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:17px;}
.mu-crumb button{background:none;border:none;color:var(--gold);font-size:17px;letter-spacing:.06em;padding:4px 2px;cursor:pointer;}
.mu-crumb i{color:var(--ink-faint);font-style:normal;}
.mu-crumb span{color:var(--gold);letter-spacing:.2em;}
.mu-now{position:sticky;top:64px;z-index:30;border:1px solid var(--line);border-radius:var(--radius);
  padding:18px 20px;overflow:hidden;backdrop-filter:blur(12px);box-shadow:0 8px 30px rgba(0,0,0,.45);
  background:linear-gradient(160deg,var(--mecbg,rgba(216,178,92,.09)),transparent 55%),
    linear-gradient(180deg,rgba(17,21,32,.95),rgba(10,14,24,.94));}
/* ── 山水意境层（2026-10-12：去纯黑 · 随五行变色）────────── */
.mu-shan{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.mu-nowtop,.mu-nowbar{position:relative;z-index:1;}
body.day .mu-now{background:linear-gradient(160deg,var(--mecbg,rgba(150,116,42,.08)),transparent 55%),
  linear-gradient(180deg,#f8f2e3,#efe5cd);}
body.day .mu-shan{opacity:.9;}
/* 曲单页 · 页脚远山底纹（整页去纯黑，宣纸式收尾；2026-10-12） */
.mu-wrap{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 260' preserveAspectRatio='xMidYMax meet'%3E%3Cpath d='M0 190 Q120 128 240 168 Q330 196 430 158 Q540 116 660 164 Q760 200 860 166 Q960 132 1060 170 Q1130 194 1200 178 L1200 260 L0 260 Z' fill='%23d8b25c' fill-opacity='.035'/%3E%3Cpath d='M0 190 Q120 128 240 168 Q330 196 430 158 Q540 116 660 164 Q760 200 860 166 Q960 132 1060 170 Q1130 194 1200 178' fill='none' stroke='%23d8b25c' stroke-opacity='.1' stroke-width='1.2'/%3E%3Cpath d='M0 218 Q150 190 310 210 Q470 228 640 206 Q810 186 980 212 Q1100 228 1200 214' fill='none' stroke='%23d8b25c' stroke-opacity='.07' stroke-width='1'/%3E%3C/svg%3E") no-repeat center bottom / min(1100px,100%) auto;}
body.day .mu-wrap{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 260' preserveAspectRatio='xMidYMax meet'%3E%3Cpath d='M0 190 Q120 128 240 168 Q330 196 430 158 Q540 116 660 164 Q760 200 860 166 Q960 132 1060 170 Q1130 194 1200 178 L1200 260 L0 260 Z' fill='%232a2013' fill-opacity='.05'/%3E%3Cpath d='M0 190 Q120 128 240 168 Q330 196 430 158 Q540 116 660 164 Q760 200 860 166 Q960 132 1060 170 Q1130 194 1200 178' fill='none' stroke='%232a2013' stroke-opacity='.14' stroke-width='1.2'/%3E%3Cpath d='M0 218 Q150 190 310 210 Q470 228 640 206 Q810 186 980 212 Q1100 228 1200 214' fill='none' stroke='%232a2013' stroke-opacity='.1' stroke-width='1'/%3E%3C/svg%3E");}
/* day 主题：曲目行 / 阶段横幅的山影换深墨，浅底上仍可辨 */
body.day .mu-tr{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 42'%3E%3Cpath d='M32 42 Q55 12 78 33 Q92 44 120 30 L120 42 Z' fill='%232a2013' fill-opacity='.06'/%3E%3Cpath d='M32 42 Q55 12 78 33 Q92 44 120 30' fill='none' stroke='%232a2013' stroke-opacity='.18' stroke-width='1'/%3E%3Cpath d='M0 38 Q22 35 48 37' fill='none' stroke='%232a2013' stroke-opacity='.12' stroke-width='1'/%3E%3C/svg%3E");}
body.day .mu-ghead{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 64'%3E%3Cpath d='M96 46 Q150 16 204 38 Q246 54 300 36 L300 64 L96 64 Z' fill='%232a2013' fill-opacity='.06'/%3E%3Cpath d='M96 46 Q150 16 204 38 Q246 54 300 36' fill='none' stroke='%232a2013' stroke-opacity='.22' stroke-width='1.2'/%3E%3Cpath d='M0 56 Q80 51 170 54 Q240 56 300 52' fill='none' stroke='%232a2013' stroke-opacity='.15' stroke-width='1'/%3E%3C/svg%3E");}
.mu-nowtop{display:flex;align-items:center;gap:18px;}
.mu-nowinfo{flex:1;min-width:0;}
.mu-nowinfo em{font-size:14px;letter-spacing:.34em;color:var(--cinnabar);font-style:normal;}
.mu-nowinfo b{display:block;font-size:24px;color:var(--gold);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mu-nowinfo i{display:block;font-size:14px;font-style:normal;color:var(--ink-faint);margin-top:2px;}
.mu-big{width:68px;height:68px;border-radius:50%;flex:none;
  border:1px solid rgba(217,188,122,.55);
  background:radial-gradient(circle at 34% 28%,rgba(217,188,122,.32),rgba(12,16,26,.96) 68%);
  color:var(--gold-l);
  font-size:20px;letter-spacing:-.05em;
  box-shadow:0 6px 24px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.08),0 0 18px rgba(217,188,122,.18);
  cursor:pointer;transition:background .25s,box-shadow .25s,border-color .25s;}
.mu-big.on{border-color:var(--gold-l);color:#1a1408;
  background:linear-gradient(150deg,#c3a35c,var(--gold));
  box-shadow:0 6px 26px rgba(217,188,122,.35),inset 0 1px 0 rgba(255,255,255,.35);}
.mu-big:active{transform:scale(.94);}
.mu-nowbar{display:flex;align-items:center;gap:12px;margin-top:14px;}
.mu-nowbar .mu-time{font-size:14px;color:var(--ink-faint);flex:none;}
.mu-bar{flex:1;height:6px;background:rgba(217,188,122,.18);border-radius:99px;cursor:pointer;}
#muBar{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold-d),var(--gold));border-radius:99px;}
.mu-zc:active{transform:scale(.97);}
.mu-zv{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,11,20,.38),rgba(7,11,20,.84));}
.mu-zt{position:relative;display:block;font-size:27px;color:var(--gold);letter-spacing:.3em;
  text-shadow:0 2px 8px rgba(0,0,0,.6);}
.mu-ze{position:relative;display:block;font-size:14px;letter-spacing:.32em;color:rgba(217,188,122,.85);margin-top:3px;}
.mu-zd{position:relative;display:block;margin-top:12px;font-size:16px;line-height:1.7;color:var(--ink-faint);}
.mu-zp{position:relative;display:inline-block;margin-top:14px;font-size:14px;color:var(--gold-l);
  border:1px solid rgba(217,188,122,.55);border-radius:99px;padding:3px 14px;background:rgba(9,13,23,.55);}
.mu-ringrow,#muRing,.mu-nc,.mu-node.on .mu-nc,.mu-node:hover .mu-nc,.mu-nt,.mu-no,.mu-nl,.mu-ctr,.mu-ctr2,.mu-yin-tip{display:none;}
/* --- 五音轮播轮：环形五音 + 中央播放键 --- */
.mu-wheel{position:relative;max-width:min(340px,86vw);margin:22px auto 0;}
.mu-wheel svg{display:block;width:100%;}
.mu-wring{fill:none;stroke:rgba(217,188,122,.30);stroke-width:1.5;}
.mu-wl{stroke:rgba(217,188,122,.22);stroke-width:1;pointer-events:none;}
.mu-wnode{cursor:pointer;}
/* 播放中的音：呼吸光晕 + 外扩涟漪（2026-10-12 用户定，呼应乐音响起；纯 stroke/opacity 动画不吃软渲染性能） */
.mu-wnode .mu-wglow,.mu-wnode .mu-wave{opacity:0;fill:none;transform-box:fill-box;transform-origin:center;pointer-events:none;}
.mu-wnode .mu-wglow{stroke-width:2;}
.mu-wnode.on .mu-wglow{animation:muBreath 2.8s ease-in-out infinite;}
.mu-wnode.on .mu-wave{stroke-width:1.6;animation:muWave 2.8s ease-out infinite;}
@keyframes muBreath{
  0%,100%{opacity:.14;stroke-width:2;}
  50%{opacity:.85;stroke-width:6.5;}
}
@keyframes muWave{
  0%{opacity:.5;transform:scale(1);}
  75%{opacity:0;transform:scale(1.42);}
  100%{opacity:0;transform:scale(1.42);}
}
@media(prefers-reduced-motion:reduce){.mu-wnode.on .mu-wglow,.mu-wnode.on .mu-wave{animation:none;}
  .mu-wnode.on .mu-wglow{opacity:.6;stroke-width:4;}}
.mu-wc{stroke:rgba(217,188,122,.45);stroke-width:1.2;transition:stroke .2s,filter .2s;}
.mu-wrim{fill:none;stroke-width:1;opacity:.22;}
.mu-wnode .mu-em{opacity:.5;transition:opacity .25s;}
.mu-wnode:hover .mu-em{opacity:.62;}
.mu-wnode.on .mu-em{opacity:.8;}
.mu-wnode:hover .mu-wc{stroke:var(--gold-l);filter:brightness(1.22);}
.mu-wnode.on .mu-wc{stroke:var(--ec,#e8503f);stroke-width:2;
  filter:drop-shadow(0 0 10px var(--ec,#e8503f)) brightness(1.1);}
.mu-wt{fill:var(--tc,#d9bc7a);font-size:27px;font-weight:700;text-anchor:middle;
  paint-order:stroke;stroke:rgba(8,12,20,.45);stroke-width:.8;}
.mu-ws{fill:var(--ec,#d9bc7a);opacity:.74;font-size:11.5px;text-anchor:middle;letter-spacing:.1em;
  paint-order:stroke;stroke:rgba(8,12,20,.4);stroke-width:.6;}
.mu-wplay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:64px;height:64px;border-radius:50%;
  border:1px solid rgba(217,188,122,.55);
  background:radial-gradient(circle at 34% 28%,rgba(217,188,122,.32),rgba(12,16,26,.96) 68%);
  color:var(--gold-l);
  font-size:19px;letter-spacing:-.05em;
  box-shadow:0 6px 24px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.08),0 0 18px rgba(217,188,122,.18);
  cursor:pointer;transition:background .25s,box-shadow .25s,border-color .25s;}
.mu-wplay.on{border-color:var(--gold-l);color:#1a1408;
  background:linear-gradient(150deg,#c3a35c,var(--gold));
  box-shadow:0 6px 26px rgba(217,188,122,.35),inset 0 1px 0 rgba(255,255,255,.35);}
.mu-wplay:active{transform:translate(-50%,-50%) scale(.93);}
.mu-wheelhint{text-align:center;font-size:14.5px;color:var(--ink-faint);opacity:.85;
  margin-top:12px;letter-spacing:.08em;}
/* 輪盤雙模式切換（曲庫輪播 / 靜坐冥想 · 2026-10-12，用户：按钮要明显） */
.mu-wmode{--wmb-on-ink:#14100a; /* 选中态墨字：夜里金底配深字，白天金变深则翻米纸字 */
  display:flex;justify-content:center;gap:0;margin:18px auto 0;
  border:1px solid var(--gold-soft);border-radius:999px;overflow:hidden;width:max-content;
  background:var(--panel);box-shadow:0 4px 18px rgba(0,0,0,.35),0 0 16px var(--line-soft);}
.mu-wmb{appearance:none;border:0;background:transparent;color:var(--ink-soft);cursor:pointer;
  font:inherit;font-size:16.5px;font-weight:600;letter-spacing:.2em;
  padding:12px 30px 12px 34px;display:flex;align-items:center;gap:9px;
  transition:color .25s,background .25s,box-shadow .25s;}
.mu-wmb .mu-wmi{font-family:var(--kai);font-size:18px;line-height:1;opacity:.75;font-weight:400;}
/* 「靜坐冥想」钮图标：打坐人形（2026-10-12 用户定，替代「冥」字；currentColor 随 on 态换色） */
.mu-wmb .mu-wmi.mu-wmi-svg{display:inline-flex;font-size:0;}
.mu-wmb .mu-wmi.mu-wmi-svg svg{width:19px;height:19px;}
.mu-wmb.on{color:var(--wmb-on-ink);background:linear-gradient(160deg,var(--gold-l),var(--gold) 58%,var(--gold-d));
  text-shadow:0 1px 0 rgba(255,255,255,.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 2px 12px var(--line-soft);}
body.day .mu-wmode{--wmb-on-ink:#fdf8ec;}
.mu-wmb.on .mu-wmi{opacity:.95;}
.mu-wmb+.mu-wmb{border-left:1px solid var(--line-soft);}
.mu-wnode.mmed .mu-ws{fill:var(--gold-soft);}
/* 切换钮首访提示（2026-10-12：点过一次切换即永久消失） */
.mu-wmode-hint{margin:10px auto 0;width:max-content;font-size:13px;letter-spacing:.14em;
  color:var(--gold-soft);border:1px dashed var(--gold-soft);border-radius:999px;padding:5px 16px;
  background:var(--panel);animation:muHintPulse 1.9s ease-in-out infinite;position:relative;}
.mu-wmode-hint::before{content:'';position:absolute;top:-6.5px;left:50%;margin-left:-6px;
  border:6px solid transparent;border-bottom-color:var(--gold-soft);border-top:0;}
@keyframes muHintPulse{0%,100%{opacity:.5;}50%{opacity:1;}}
@media(max-width:640px){.mu-wmb{font-size:15px;padding:10px 20px 10px 23px;letter-spacing:.12em;gap:7px;}
  .mu-wmb .mu-wmi{font-size:16px;}}
.mu-list{margin-top:14px;}
/* 曲目行 · 右下角一抹淡山角（2026-10-12 山水意境层；on 态只覆盖 color 保住山影） */
.mu-tr{display:flex;align-items:center;flex-wrap:wrap;gap:12px 14px;padding:15px 18px;margin-bottom:10px;
  border:1px solid var(--line-soft);border-radius:12px;cursor:pointer;transition:border-color .2s;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 42'%3E%3Cpath d='M32 42 Q55 12 78 33 Q92 44 120 30 L120 42 Z' fill='%23d8b25c' fill-opacity='.055'/%3E%3Cpath d='M32 42 Q55 12 78 33 Q92 44 120 30' fill='none' stroke='%23d8b25c' stroke-opacity='.16' stroke-width='1'/%3E%3Cpath d='M0 38 Q22 35 48 37' fill='none' stroke='%23d8b25c' stroke-opacity='.1' stroke-width='1'/%3E%3C/svg%3E") no-repeat right 10px bottom 6px / 112px 39px, var(--panel);}
.mu-tr.on{border-color:var(--cinnabar);background-color:rgba(232,80,63,.07);}
/* 曲目意境横幅（2026-10-12 二版：整行满铺水墨意境图 + 横向渐变压暗，文字浮于图上；
   用户定调：不要方形缩略、不要五行符号，要林间晨曦/山水月夜这类安定画面，且每首不同） */
.mu-tr.mu-art{position:relative;overflow:hidden;isolation:isolate;}
.mu-artbg{position:absolute;inset:0;z-index:-1;}
.mu-artbg img{width:100%;height:100%;object-fit:cover;display:block;}
.mu-artscrim{position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(13,12,10,.9) 0%,rgba(13,12,10,.72) 40%,rgba(13,12,10,.5) 68%,rgba(13,12,10,.62) 100%);}
.mu-tr.on .mu-artscrim{background:linear-gradient(90deg,rgba(24,11,9,.92) 0%,rgba(26,13,10,.76) 40%,rgba(16,12,9,.54) 68%,rgba(24,11,9,.66) 100%);}
.mu-tr.on{border-color:var(--cinnabar);box-shadow:inset 0 0 0 1.5px rgba(232,80,63,.55);}
/* 图上行内文字：昼夜同为亮色（压暗幕之上）；加深阴影保清晰（2026-10-12 用户反馈） */
.mu-tr.mu-art .mu-tt{color:#faf5e9;text-shadow:0 1px 2px rgba(0,0,0,.75),0 0 10px rgba(0,0,0,.35);}
.mu-tr.mu-art .mu-tag{color:#ffb7a9;text-shadow:0 1px 2px rgba(0,0,0,.7);}
.mu-tr.mu-art .mu-td{color:rgba(248,242,228,.82);text-shadow:0 1px 2px rgba(0,0,0,.65);}
.mu-tr.mu-art .mu-tsrc{color:rgba(248,242,228,.72);text-shadow:0 1px 2px rgba(0,0,0,.6);}
.mu-tr.mu-art .mu-pi{border-color:rgba(248,242,228,.45);color:#f0d79a;text-shadow:0 1px 2px rgba(0,0,0,.6);}
.mu-tr.mu-art .mu-yun-n{color:#eee2ca;border-color:rgba(248,242,228,.45);background:rgba(20,16,12,.55);text-shadow:0 1px 2px rgba(0,0,0,.6);}
.mu-tr.mu-art .mu-artlen{margin-left:auto;flex:none;font-style:normal;font-size:14px;
  color:rgba(248,242,228,.9);letter-spacing:.04em;text-shadow:0 1px 3px rgba(0,0,0,.7);}
/* 图上徽标/下载键的暗底适配（昼夜一致） */
.mu-tr.mu-art .mp-badge.mp-free,.mu-tr.mu-art .mp-badge.mp-own{color:#e9cd8c;border-color:rgba(217,188,122,.5);background:rgba(20,16,12,.5);}
.mu-tr.mu-art .mp-badge.mp-need{color:#f8786c;border-color:rgba(232,80,63,.55);background:rgba(30,14,11,.5);}
.mu-tr.mu-art .mp-dl{color:#e9cd8c;border-color:rgba(245,238,224,.35);}
.mu-tr.mu-art .mp-dl.no{color:rgba(245,238,224,.6);border-color:rgba(245,238,224,.22);}
.mu-tr.mu-art .mp-dl.on:hover{background:rgba(20,16,12,.5);}
body.day .mu-tr.mu-art .mp-badge.mp-free,body.day .mu-tr.mu-art .mp-badge.mp-own{color:#e9cd8c;border-color:rgba(217,188,122,.5);background:rgba(20,16,12,.5);}
body.day .mu-tr.mu-art .mp-badge.mp-need{color:#f8786c;border-color:rgba(232,80,63,.55);background:rgba(30,14,11,.5);}
body.day .mu-tr.mu-art .mp-dl{color:#e9cd8c;border-color:rgba(245,238,224,.35);}
body.day .mu-tr.mu-art .mp-dl.no{color:rgba(245,238,224,.6);border-color:rgba(245,238,224,.22);}
/* 同曲微变奏：四种取景偏移；阴曲统一暗调 */
.mu-cvv0{object-position:50% 28%;}.mu-cvv1{object-position:36% 55%;filter:saturate(1.05);}
.mu-cvv2{object-position:62% 45%;filter:brightness(.92);}
.mu-cvv3{object-position:48% 66%;filter:brightness(1.06) saturate(.95);}
.mu-cvd{filter:brightness(.72) saturate(.85);}
body.day .mu-cvd{filter:brightness(.88) saturate(.9);}
/* 播放卡小封面：随横幅改宽幅 */
.mu-nowcv{flex:none;width:118px;height:60px;border-radius:12px;overflow:hidden;border:1px solid var(--line);}
.mu-nowcv img{width:100%;height:100%;object-fit:cover;display:block;}
/* ── 首访五行测评引导（2026-10-12：先答题找到专属五行，点播即解锁音藥页）── */
.mu-ob{max-width:660px;text-align:center;}
.mu-obhead{margin:36px 0 6px;}
.mu-obhead em{font-style:normal;font-size:14px;letter-spacing:.42em;color:var(--cinnabar);}
.mu-obhead h3{font-size:30px;color:var(--gold);margin:12px 0 14px;letter-spacing:.06em;}
.mu-obhead h3 span{color:var(--gold-l);}
.mu-obhead p{font-size:15.5px;line-height:1.95;color:var(--ink-soft);text-align:center;}
.mu-obdots{display:flex;justify-content:center;gap:16px;margin-top:20px;}
.mu-obdots i{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-style:normal;font-family:var(--kai);font-size:20px;color:var(--ec,#d8b25c);
  border:1px solid var(--ec,#d8b25c);background:var(--panel);}
.mu-obgo{margin-top:28px;font-size:17px;padding:13px 36px;letter-spacing:.14em;}
.mu-obtip{margin-top:13px;font-size:13px;color:var(--ink-faint);letter-spacing:.06em;}
.mu-obBox,.mu-tcard{text-align:left;}
.mu-obr{margin-top:20px;border:1px solid var(--line);border-radius:var(--radius);padding:32px 28px;text-align:center;
  background:linear-gradient(160deg,var(--ecbg,rgba(216,178,92,.10)),transparent 55%),var(--panel);
  box-shadow:0 10px 34px rgba(0,0,0,.28);}
.mu-obr>em{font-style:normal;font-size:13.5px;letter-spacing:.4em;color:var(--cinnabar);}
.mu-obseal{width:76px;height:76px;border-radius:50%;margin:16px auto 12px;display:flex;align-items:center;justify-content:center;
  font-family:var(--kai);font-size:35px;border:1.5px solid;background:var(--panel-2);}
.mu-obt{display:block;font-size:25px;color:var(--gold);letter-spacing:.22em;margin-bottom:10px;}
.mu-obtone,.mu-obrec{font-size:15px;line-height:1.9;color:var(--ink-soft);text-align:center;}
.mu-obrec{margin-top:8px;}
.mu-obmt{margin-top:14px;font-size:15.5px;color:var(--ink);}
.mu-obmt i{display:block;font-style:normal;font-size:13px;color:var(--ink-faint);margin-top:3px;letter-spacing:.08em;}
.mu-obplay{margin-top:18px;font-size:17px;padding:13px 30px;letter-spacing:.12em;}
.mu-obhint{display:block;margin-top:11px;font-size:12.5px;color:var(--ink-faint);letter-spacing:.1em;}
@media(max-width:640px){
  .mu-obhead h3{font-size:24px;}
  .mu-obhead p{font-size:14.5px;}
  .mu-obdots i{width:40px;height:40px;font-size:17px;}
  .mu-obr{padding:24px 18px;}}
@media(max-width:640px){
  .mu-tr.mu-art{padding:14px 15px;}
  .mu-tr.mu-art .mu-td{display:none;} /* 窄屏行高收紧，横幅铺满整行 */
  .mu-nowcv{display:none;} /* 窄屏播放卡空间紧，横幅只留给曲目行 */}
.mu-pi{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);color:var(--gold);
  display:flex;align-items:center;justify-content:center;font-size:13px;flex:none;}
.mu-tt{font-size:18px;color:var(--ink);letter-spacing:.06em;}
.mu-tag{font-size:14px;color:var(--cinnabar);letter-spacing:.08em;}
.mu-td{font-size:15px;color:var(--ink-faint);flex:1;min-width:150px;}
/* 靜坐冥想 · 阶段横幅（初阶 / 进阶，2026-10-12 要求两档一眼区分；右侧山脊+水线意境层） */
.mu-ghead{display:flex;align-items:center;gap:13px;margin:24px 0 10px;padding:13px 16px;
  border:1px solid var(--line-soft);border-radius:var(--radius);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 64'%3E%3Cpath d='M96 46 Q150 16 204 38 Q246 54 300 36 L300 64 L96 64 Z' fill='%23d8b25c' fill-opacity='.06'/%3E%3Cpath d='M96 46 Q150 16 204 38 Q246 54 300 36' fill='none' stroke='%23d8b25c' stroke-opacity='.2' stroke-width='1.2'/%3E%3Cpath d='M0 56 Q80 51 170 54 Q240 56 300 52' fill='none' stroke='%23d8b25c' stroke-opacity='.14' stroke-width='1'/%3E%3C/svg%3E") no-repeat right 10px bottom 6px / 168px 36px, var(--panel-2);}
.mu-ghead .mu-gseal{flex:0 0 auto;width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:700;
  font-family:var(--kai);color:var(--gold-soft);border:1px solid var(--gold-soft);background:var(--panel);}
.mu-ghead .mu-gtt{flex:1;min-width:0;}
.mu-ghead .mu-gtt b{display:block;font-size:17px;letter-spacing:.14em;color:var(--warm-hi);}
.mu-ghead .mu-gtt i{display:block;font-style:normal;font-size:12.5px;letter-spacing:.08em;color:var(--ink-dim);margin-top:3px;}
.mu-ghead .mu-gbadge{flex:0 0 auto;font-size:12px;letter-spacing:.14em;color:var(--gold-soft);
  border:1px solid var(--gold-soft);border-radius:999px;padding:5px 12px;white-space:nowrap;}
.mu-ghead.lv2{border-color:var(--gold-soft);
  background:linear-gradient(135deg,var(--line-soft),transparent 55%),var(--panel-2);}
.mu-ghead.lv2 .mu-gseal{color:var(--gold);border-color:var(--gold);box-shadow:0 0 14px var(--line-soft);}
.mu-ghead.lv2 .mu-gtt b{color:var(--gold-soft);}
.mu-ghead.lv2 .mu-gbadge{color:var(--gold);border-color:var(--gold);}
@media(max-width:640px){
  .mu-ghead{gap:10px;padding:11px 12px;}
  .mu-ghead .mu-gseal{width:36px;height:36px;font-size:16px;}
  .mu-ghead .mu-gtt b{font-size:15px;letter-spacing:.1em;}
  .mu-ghead .mu-gbadge{font-size:11px;padding:4px 9px;letter-spacing:.08em;}}
.mu-tr .mu-len{font-size:14px;color:var(--ink-faint);text-decoration:none;}
.mu-quiz{margin-top:14px;}
/* 今日樂方 · 是非测评（十题，是/否 两键） */
.mu-tcard{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);
  padding:22px 24px;text-align:center;}
.mu-tprog{height:4px;background:rgba(217,188,122,.16);border-radius:99px;overflow:hidden;margin-bottom:14px;}
.mu-tprog i{display:block;height:100%;background:linear-gradient(90deg,var(--gold-d),var(--gold));transition:width .3s;}
.mu-tstep{font-size:14px;font-style:normal;letter-spacing:.24em;color:var(--ink-faint);}
.mu-tq{font-size:19px;color:var(--ink);line-height:1.85;margin:14px 0 22px;}
.mu-tbtns{display:flex;gap:14px;justify-content:center;}
.mu-tbtns button{flex:1;max-width:180px;padding:14px 0;font-size:18px;letter-spacing:.2em;
  border-radius:99px;cursor:pointer;font-family:inherit;transition:.15s;}
.mu-tb-y{background:linear-gradient(150deg,#c3a35c,var(--gold));border:1px solid var(--gold-l);color:#1a1408;}
.mu-tb-n{background:none;border:1px solid var(--line);color:var(--ink-faint);}
.mu-tbtns button:active{transform:scale(.97);}
.mu-tback{display:block;margin-top:16px;font-size:14px;color:var(--ink-faint);opacity:.85;
  cursor:pointer;letter-spacing:.1em;}
.mu-tlead{margin-top:14px;line-height:1.85;}
.mu-fang .mu-flead{font-size:18.5px;color:var(--gold);text-align:center;letter-spacing:.06em;}
.mu-fang .mu-fan,.mu-fang .mu-frec{text-align:left;margin-top:10px;}
.mu-fang .mu-fan{color:var(--warm-hi);}
.mu-fang .mu-fquote{text-align:left;margin-top:12px;padding:10px 14px;font-size:15px;line-height:1.9;
  border-left:2px solid rgba(217,188,122,.5);background:rgba(217,188,122,.05);color:rgba(217,188,122,.88);}
.mu-re{margin:14px 0 0 12px;background:none;border:1px solid var(--line);color:var(--ink-faint);
  border-radius:99px;padding:10px 24px;font-size:15px;cursor:pointer;}
.mu-shich{font-size:14.5px;color:var(--ink-faint);opacity:.85;margin:-6px 0 12px;letter-spacing:.04em;}
.mu-fang .mu-fshich{text-align:center;font-size:15px;color:rgba(217,188,122,.9);margin-top:12px;line-height:1.8;}
.mu-fang .mu-fshich i{display:block;font-style:normal;font-size:13.5px;color:var(--ink-faint);opacity:.8;margin-top:4px;}
/* --- 古曲今弹 · 拟古新编（平铺曲卡，播放钮用各音意象色点缀） --- */
.mu-gq{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px;}
@media(max-width:640px){.mu-gq{grid-template-columns:1fr;gap:12px;}}
.mu-gqc{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--panel);padding:16px 18px;text-align:left;cursor:pointer;font-family:inherit;
  transition:border-color .2s,transform .15s,background .2s;}
.mu-gqc:active{transform:scale(.98);}
.mu-gqc.on{border-color:var(--ec,var(--gold));background:rgba(217,188,122,.08);}
.mu-gqplay{flex:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--ec,var(--gold));
  color:var(--tc,var(--gold));display:flex;align-items:center;justify-content:center;font-size:12px;
  margin-top:2px;transition:background .2s,color .2s;}
.mu-gqc.on .mu-gqplay{background:var(--ec,var(--gold));color:#0a0e18;}
.mu-gqmain{flex:1;min-width:0;}
.mu-gqhd{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;}
.mu-gqt{font-size:23px;color:var(--gold);letter-spacing:.16em;}
.mu-gqy{font-size:14.5px;font-style:normal;color:var(--gold-soft);letter-spacing:.06em;}
.mu-gqm{font-size:13.5px;color:var(--ec,rgba(232,80,63,.85));flex:none;opacity:.9;}
.mu-gqs{display:block;font-size:13.5px;color:var(--ink-faint);opacity:.85;margin-top:8px;line-height:1.7;}
.mu-gqn{display:block;font-size:15px;color:var(--warm-tx);margin-top:8px;line-height:1.8;}
/* --- 道家导引 · 六字诀 --- */
.mu-dylead{font-size:15px;color:var(--ink-faint);line-height:1.85;margin-top:12px;}
.mu-dy{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:16px;}
@media(max-width:900px){.mu-dy{grid-template-columns:repeat(3,1fr);}}
@media(max-width:640px){.mu-dy{grid-template-columns:repeat(3,1fr);gap:10px;}}
.mu-dyc{position:relative;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);
  padding:16px 10px 14px;text-align:center;cursor:pointer;font-family:inherit;transition:border-color .2s,transform .15s;}
.mu-dyc:active{transform:scale(.97);}
.mu-dyc.on{border-color:var(--gold);background:rgba(217,188,122,.10);}
.mu-dyz{display:block;font-size:34px;color:var(--gold);letter-spacing:.06em;line-height:1.15;}
.mu-dyc.on .mu-dyz{color:var(--gold-l);}
.mu-dyp{display:block;font-size:13.5px;color:var(--gold-soft);margin-top:4px;letter-spacing:.08em;}
.mu-dym{display:block;font-size:14px;color:var(--ink-faint);margin-top:8px;}
.mu-dys{display:block;font-size:13px;color:var(--gold-soft);margin-top:6px;line-height:1.6;}
.mu-dynote{margin-top:14px;font-size:14.5px;line-height:1.9;color:var(--ink-faint);
  border-left:2px solid rgba(217,188,122,.35);padding:8px 12px;background:rgba(217,188,122,.05);}
.mu-dynote b{color:var(--gold);font-weight:500;}
/* --- 阴阳韵徽章 / 相助之音 --- */
.mu-yun{font-size:13px;text-decoration:none;border-radius:99px;padding:2px 10px;letter-spacing:.06em;flex:none;}
.mu-yun-y{color:#f0d79a;border:1px solid rgba(217,188,122,.6);background:rgba(217,188,122,.14);}
.mu-yun-n{color:var(--warm-tx);border:1px solid var(--line);background:rgba(255,255,255,.04);}
.mu-yun-g{color:rgba(232,80,63,.9);border:1px solid rgba(232,80,63,.45);background:rgba(232,80,63,.08);}
.mu-tsrc{display:block;flex-basis:100%;font-size:13.5px;color:var(--ink-faint);opacity:.7;
  text-decoration:none;line-height:1.6;margin-top:-6px;}
.mu-yunnote{font-size:14px;color:var(--ink-faint);opacity:.8;margin:-4px 0 12px;line-height:1.75;}
.mu-fang .mu-fhelp{text-align:center;font-size:15px;color:rgba(217,188,122,.9);margin-top:12px;line-height:1.8;}
.mu-help{margin:12px 0 0 12px;background:none;border:1px solid rgba(217,188,122,.55);color:var(--gold-l);
  border-radius:99px;padding:11px 26px;font-size:16px;cursor:pointer;letter-spacing:.1em;}
.mu-fang{margin-top:20px;border:1.5px solid var(--gold);border-radius:var(--radius);
  padding:24px 26px;background:linear-gradient(160deg,rgba(217,188,122,.10),rgba(12,17,28,.8));
  text-align:center;animation:rsec-in .5s both;}
.mu-fang em{font-size:14px;letter-spacing:.4em;color:var(--cinnabar);}
.mu-fang h4{font-size:26px;color:var(--gold);margin:10px 0 8px;letter-spacing:.1em;}
.mu-fang p{font-size:16px;color:var(--ink-faint);line-height:1.9;}
.mu-take{margin-top:14px;background:linear-gradient(100deg,var(--cinnabar-d),var(--cinnabar));
  color:#fff;border:none;border-radius:99px;padding:11px 34px;font-size:17px;letter-spacing:.14em;}
.mu-fn{display:block;margin-top:10px;font-size:14px;color:var(--ink-faint);}

/* 管理后台（#/admin） */
.adm-stats{display:flex;gap:12px;flex-wrap:wrap;}
.adm-stat{flex:1;min-width:120px;background:rgba(10,15,27,.55);border:1px solid var(--line-soft);border-radius:12px;padding:14px 16px;text-align:center;}
.adm-stat b{display:block;font-size:26px;color:var(--gold);font-family:var(--kai);}
.adm-stat i{display:block;margin-top:4px;font-style:normal;font-size:14px;color:var(--ink-faint);}
.adm-bars{display:flex;align-items:flex-end;gap:16px;justify-content:center;padding-top:10px;}
.adm-bar{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:44px;}
.adm-bar .b{width:28px;background:linear-gradient(180deg,#e9cf96,#d9bc7a);border-radius:4px 4px 0 0;min-height:3px;box-shadow:0 0 10px rgba(217,188,122,.25);}
.adm-bar i{font-style:normal;font-size:13.5px;color:var(--ink-faint);}
.adm-rank{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 2px;border-bottom:1px dashed rgba(217,188,122,.14);font-size:15.5px;}
.adm-rank:last-child{border-bottom:none;}
.adm-rank span:first-child{color:var(--ink);opacity:.88;}
.adm-rank b{color:var(--gold);font-weight:600;flex-shrink:0;}
.adm-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.adm-chips button{background:rgba(10,15,27,.7);border:1px solid var(--line-soft);border-radius:99px;padding:8px 15px;font-size:15px;color:var(--ink);cursor:pointer;font-family:inherit;transition:.2s;letter-spacing:.04em;}
.adm-chips button:hover{border-color:rgba(217,188,122,.6);}
.adm-chips button.on{border-color:rgba(217,188,122,.85);color:var(--gold);background:rgba(217,188,122,.1);}
/* 后台内对登录页按钮样式的排版校正 */
.auth-f .auth-btn{width:auto;margin-top:0;padding:12px 24px;flex-shrink:0;}
#admTracks .auth-link{display:inline-block;margin:0 0 0 10px;text-decoration:none;border:1px solid var(--line-soft);border-radius:8px;padding:4px 12px;background:rgba(10,15,27,.6);}
#admTracks .auth-link:hover{border-color:rgba(217,188,122,.6);}

/* 三盘合参 · 择术中场（点灯 → 环起 → 入局） */
.spz-wrap{position:relative;overflow:hidden;min-height:100vh;display:flex;flex-direction:column;padding:84px 0 30px;}
.spz-ringbg{position:absolute;left:50%;top:44%;width:min(940px,170vw);height:min(940px,170vw);transform:translate(-50%,-50%);opacity:0;transition:opacity 1.3s ease;pointer-events:none;}
.spz-wrap.lv1 .spz-ringbg[data-lv="1"],.spz-wrap.lv2 .spz-ringbg[data-lv="1"],.spz-wrap.lv3 .spz-ringbg[data-lv="1"],
.spz-wrap.lv2 .spz-ringbg[data-lv="2"],.spz-wrap.lv3 .spz-ringbg[data-lv="2"],
.spz-wrap.lv3 .spz-ringbg[data-lv="3"]{opacity:.55;}
.spz-ringbg svg{width:100%;height:100%;animation:spzSpin 80s linear infinite;}
.spz-ringbg.rev svg{animation:spzSpinRev 110s linear infinite;}
@keyframes spzSpin{to{transform:rotate(360deg);}}
@keyframes spzSpinRev{from{transform:rotate(0);}to{transform:rotate(-360deg);}}
.spz-rights{align-self:start;padding:18px 20px;}
.spz-rights h4{margin:0 0 4px;font-size:16px;color:var(--gold);letter-spacing:.12em;}
.spz-r{border:1px solid var(--line-soft);border-radius:12px;padding:12px 14px;margin-top:10px;cursor:pointer;transition:.3s;background:rgba(8,12,22,.35);}
.spz-r:hover{border-color:rgba(217,188,122,.55);}
.spz-r-h{display:flex;align-items:center;gap:10px;}
.spz-r-h .ch{width:36px;height:36px;line-height:34px;text-align:center;border-radius:9px;border:1px solid var(--line-soft);font-size:18px;font-family:var(--kai);color:var(--ink-faint);transition:.3s;flex-shrink:0;}
.spz-r-h .tt{flex:1;text-align:left;}
.spz-r-h .tt b{display:block;font-size:16px;letter-spacing:.14em;color:var(--warm-tx);font-weight:400;}
.spz-r-h .tt i{font-style:normal;font-size:12.5px;color:var(--ink-faint);}
.spz-r .st{font-style:normal;font-size:12.5px;color:var(--ink-faint);border:1px solid var(--line-soft);border-radius:99px;padding:2px 9px;flex-shrink:0;transition:.3s;}
.spz-r .ds{margin:8px 0 0;font-size:13.5px;color:var(--ink-faint);text-align:left;line-height:1.6;}
.spz-r .ln{margin-top:6px;font-size:14px;color:var(--gold-soft);text-align:left;font-family:var(--kai);letter-spacing:.04em;}
.spz-r.on{border-color:rgba(217,188,122,.85);background:rgba(217,188,122,.08);box-shadow:0 6px 22px rgba(217,188,122,.12);}
.spz-r.on .ch{border-color:rgba(217,188,122,.9);color:#0d1120;background:linear-gradient(140deg,#e9cf96,#c9a558);}
.spz-r.on .tt b{color:var(--gold);}
.spz-r.on .st{border-color:var(--gold-soft);color:var(--gold);}

/* 入局推演仪式（对格 → 逐柱 → 安星 → 周天 → 命书成卷） */
#spzRitual{position:fixed;inset:0;z-index:220;background:rgba(4,7,14,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;transition:opacity .32s;}
#spzRitual.bye{opacity:0;pointer-events:none;}
.spr-cap{text-align:center;}
.spr-cap i{display:block;font-style:normal;font-family:var(--kai);font-size:30px;letter-spacing:.5em;text-indent:.5em;color:var(--gold);text-shadow:0 0 22px rgba(217,188,122,.3);}
.spr-cap span{display:block;margin-top:6px;font-size:13.5px;color:var(--ink-faint);letter-spacing:.2em;}
.spr-info{margin-top:10px;padding:5px 18px;border:1px solid var(--line-soft);border-radius:99px;font-size:13.5px;color:var(--warm-tx);letter-spacing:.08em;}
.spr-panels{display:flex;gap:26px;align-items:stretch;justify-content:center;margin-top:22px;min-height:270px;}
.spr-panel{width:240px;border:1px solid var(--line-soft);border-radius:14px;background:rgba(8,12,22,.55);padding:14px 14px 12px;display:flex;flex-direction:column;align-items:center;opacity:.4;transform:scale(.97);transition:.5s;}
.spr-panel.act{opacity:1;transform:scale(1);border-color:rgba(217,188,122,.55);box-shadow:0 10px 40px rgba(217,188,122,.1);}
.spr-title{font-size:13.5px;color:var(--ink-faint);letter-spacing:.18em;margin-bottom:12px;}
.spr-verdict{min-height:22px;margin-top:auto;font-size:14.5px;color:var(--gold);font-family:var(--kai);letter-spacing:.08em;opacity:0;transition:.5s;}
.spr-verdict.in{opacity:1;}
.spr-bazi{display:flex;gap:10px;justify-content:center;flex:1;align-items:center;}
.spr-col{width:44px;border:1px solid var(--line-soft);border-radius:8px;background:rgba(217,188,122,.05);padding:8px 0 6px;text-align:center;opacity:0;transform:translateY(14px);transition:.45s;}
.spr-col.in{opacity:1;transform:translateY(0);}
.spr-col em{display:block;font-style:normal;font-size:11px;color:var(--ink-faint);margin-bottom:5px;}
.spr-col b{display:block;font-family:var(--kai);font-size:22px;color:#e9cf96;line-height:1.5;}
.spr-grid{display:grid;grid-template-columns:repeat(4,52px);grid-auto-rows:56px;gap:5px;flex:1;align-content:center;}
.spr-pal{border:1px solid rgba(217,188,122,.16);border-radius:7px;padding:5px 4px;text-align:center;opacity:.25;transform:scale(.92);transition:.4s;}
.spr-pal b{display:block;font-size:10.5px;color:var(--ink-faint);font-weight:400;letter-spacing:.05em;}
.spr-pal span{display:block;font-size:13px;font-family:var(--kai);color:#e9cf96;margin-top:2px;min-height:16px;}
.spr-pal.life{border-color:rgba(217,188,122,.45);}
.spr-pal.in{opacity:1;transform:scale(1);}
.spr-pal.in.life{background:rgba(217,188,122,.08);}
.spr-ring{flex:1;display:flex;align-items:center;justify-content:center;width:100%;}
.spr-ring svg{width:200px;height:200px;}
.spr-qstar{opacity:0;transition:.45s;transform-box:fill-box;transform-origin:center;}
.spr-qstar.in{opacity:1;}
.spr-scroll{position:relative;margin-top:26px;width:min(430px,86vw);height:0;overflow:hidden;transition:height .9s cubic-bezier(.3,.8,.3,1);}
.spr-scroll.open{height:120px;}
.spr-scroll-in{position:absolute;inset:0;border:1px solid rgba(217,188,122,.4);border-radius:6px;background:linear-gradient(160deg,#f3e9d2,#e8d9ba);color:#4a3517;padding:12px 40px;overflow:hidden;}
.spr-lines p{margin:3px 0;font-size:14.5px;font-family:var(--kai);letter-spacing:.1em;}
.spr-seal{position:absolute;right:14px;top:50%;transform:translateY(-50%) scale(1.8) rotate(-14deg);opacity:0;border:2.5px solid #a32d2d;color:#a32d2d;border-radius:8px;padding:7px 8px;font-family:var(--kai);font-size:15px;letter-spacing:.14em;line-height:1.35;writing-mode:vertical-rl;transition:.4s cubic-bezier(.2,1.4,.4,1);}
.spr-seal.in{opacity:.92;transform:translateY(-50%) scale(1) rotate(-6deg);}
.spr-scroll .rod{position:absolute;top:-8px;bottom:-8px;width:7px;background:linear-gradient(180deg,#8a6a2e,#5f4718);border-radius:4px;}
.spr-scroll .rod.l{left:-4px;}.spr-scroll .rod.r{right:-4px;}
.spr-sub{margin-top:18px;font-size:14.5px;color:var(--ink-faint);letter-spacing:.16em;}
.spr-skip{position:absolute;right:26px;bottom:22px;font-size:13.5px;color:var(--ink-faint);letter-spacing:.1em;cursor:pointer;text-decoration:underline;}
.spr-skip:hover{color:var(--gold);}
@media(max-width:760px){
  .spr-panels{flex-direction:column;gap:12px;min-height:0;}
  .spr-panel{width:min(320px,88vw);flex-direction:row;flex-wrap:wrap;justify-content:center;padding:10px;}
  .spr-panel .spr-title{width:100%;margin-bottom:6px;}
  .spr-verdict{width:100%;margin-top:6px;}
  .spr-grid{grid-template-columns:repeat(6,46px);grid-auto-rows:44px;}
  #spzRitual{overflow-y:auto;justify-content:flex-start;padding:26px 0 20px;}
}
.spz-grid{display:grid;grid-template-columns:290px 1fr 290px;gap:22px;position:relative;z-index:1;padding-top:26px;align-items:start;margin-top:auto;margin-bottom:auto;}
.spz-dims{align-self:start;padding:18px 20px;}
.spz-dims h4{margin:0 0 4px;font-size:16px;color:var(--gold);letter-spacing:.12em;}
.spz-dim{display:flex;align-items:center;gap:8px;padding:7px 2px;border-bottom:1px dashed rgba(217,188,122,.12);font-size:15px;transition:.3s;}
.spz-dim:last-child{border-bottom:none;}
.spz-dim b{width:76px;text-align:left;color:var(--ink);opacity:.8;font-weight:400;letter-spacing:.05em;transition:.3s;}
.spz-dim i{font-style:normal;font-size:12.5px;width:21px;height:21px;line-height:19px;text-align:center;border-radius:5px;border:1px solid var(--line-soft);color:var(--ink-faint);transition:.35s;}
.spz-dim i.on{border-color:var(--gold-soft);color:#0d1120;background:linear-gradient(140deg,#e9cf96,#c9a558);}
.spz-dim.full b{color:var(--gold);opacity:1;}
.spz-dim.full b::after{content:' ★';font-size:11px;}
.spz-main{text-align:center;padding:26px 0 70px;}
.spz-title{font-size:clamp(40px,6vw,62px);letter-spacing:.42em;text-indent:.42em;font-family:var(--kai);color:var(--gold);margin:0;text-shadow:0 0 26px rgba(217,188,122,.25);}
.spz-sub{font-size:16px;color:var(--warm-dim);letter-spacing:.14em;margin:12px 0 0;}
.spz-chip{display:inline-block;margin-top:18px;padding:7px 20px;border:1px solid var(--line-soft);border-radius:99px;font-size:14px;color:var(--ink-faint);letter-spacing:.08em;}
.spz-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:36px auto 0;max-width:520px;}
.spz-card{min-width:0;padding:24px 0 18px;border:1.5px dashed rgba(217,188,122,.3);border-radius:14px;background:rgba(8,12,22,.45);cursor:pointer;transition:.35s;position:relative;user-select:none;}
.spz-card .ch{display:block;width:58px;height:58px;line-height:56px;margin:0 auto;border-radius:12px;border:1px solid var(--line-soft);font-size:26px;font-family:var(--kai);color:var(--ink-faint);transition:.35s;}
.spz-card b{display:block;margin-top:11px;font-size:17px;letter-spacing:.22em;color:var(--warm-dim);font-weight:400;}
.spz-card i{display:block;font-style:normal;font-size:12.5px;color:var(--ink-faint);opacity:.75;margin-top:4px;letter-spacing:.04em;}
.spz-card:hover{border-color:rgba(217,188,122,.6);transform:translateY(-2px);}
.spz-card.on{border-style:solid;border-color:rgba(217,188,122,.9);background:rgba(217,188,122,.09);transform:translateY(-5px);box-shadow:0 10px 34px rgba(217,188,122,.16);}
.spz-card.on .ch{border-color:rgba(217,188,122,.9);color:#0d1120;background:linear-gradient(140deg,#e9cf96,#c9a558);text-shadow:none;}
.spz-card.on b{color:var(--gold);}
.spz-card.on i{opacity:.95;color:var(--warm-tx);}
.spz-fc{position:absolute;font-family:var(--kai);color:rgba(233,207,150,.9);pointer-events:none;opacity:0;animation:spzFloat 2.4s ease-out forwards;font-size:15px;}
@keyframes spzFloat{0%{opacity:0;transform:translateY(8px);}25%{opacity:.95;}100%{opacity:0;transform:translateY(-38px);}}
.spz-note{margin-top:28px;font-size:15px;color:var(--ink-faint);letter-spacing:.14em;transition:.3s;}
.spz-wrap.allin .spz-note{color:var(--gold);}
.spz-go{margin-top:14px;min-width:250px;}
.spz-go:disabled{opacity:.4;cursor:not-allowed;animation:none;}
.spz-price{margin-top:12px;font-size:14px;color:var(--ink-faint);letter-spacing:.06em;}
.spz-price b{color:var(--gold);font-weight:400;}
@media(max-width:1180px){
  .spz-grid{grid-template-columns:250px 1fr 250px;}
}
@media(max-width:960px){
  .spz-grid{grid-template-columns:1fr;gap:14px;padding-top:14px;}
  .spz-main{order:1;padding:10px 0 26px;}
  .spz-rights{order:2;}
  .spz-dims{order:3;}
  .spz-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:26px;width:100%;}
  .spz-card{width:100%;max-width:170px;min-width:0;justify-self:center;padding:16px 0 12px;}
  .spz-card b{letter-spacing:.14em;}
  .spz-card i{padding:0 4px;line-height:1.5;}
  .spz-card .ch{width:48px;height:48px;line-height:46px;font-size:22px;}
}

/* 门厅流动古籍条 */
.hall-books{margin-top:58px;width:min(880px,100%);overflow:hidden;position:relative;z-index:2;min-width:0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);}
.hb-track{display:inline-flex;align-items:center;white-space:nowrap;animation:hbScroll 80s linear infinite;will-change:transform;}
.hall-books:hover .hb-track{animation-play-state:paused;}
.hb-track b{font-weight:400;font-size:18px;letter-spacing:.12em;color:rgba(217,188,122,.52);transition:color .3s;}
.hb-track i{font-style:normal;color:rgba(217,188,122,.28);padding:0 14px;font-size:15px;}
.hall-books:hover .hb-track b{color:rgba(217,188,122,.88);}
/* 白天：古籍条在米色底上，金字改深褐（2026-10-10 可读性整改） */
body.day .hb-track b{color:rgba(122,96,40,.72);}
body.day .hb-track i{color:rgba(122,96,40,.4);}
body.day .hall-books:hover .hb-track b{color:#6f5524;}
@keyframes hbScroll{to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){
  .hb-track{animation:none;flex-wrap:wrap;justify-content:center;white-space:normal;}
  .hb-track i{display:none;}
}

/* ============================================================
   收费模块：解锁卡 / 价格页 / 兑换页 / 账户余额
   ============================================================ */
.pay-mask{position:fixed;inset:0;z-index:240;display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(4,7,13,.74);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .3s;}
.pay-mask.on{opacity:1;pointer-events:auto;}
.pay-card{position:relative;width:min(680px,100%);max-height:88vh;overflow:auto;padding:26px 22px 18px;
  border:1px solid var(--line);border-radius:18px;
  background:linear-gradient(180deg,rgba(16,21,34,.98),rgba(10,14,24,.98));
  box-shadow:0 24px 70px rgba(0,0,0,.55);}
body.day .pay-card{background:linear-gradient(180deg,#fbf7ee,#f3eee1);}
.pay-x{position:absolute;right:12px;top:10px;width:32px;height:32px;border-radius:50%;
  border:1px solid var(--line-soft);background:transparent;color:var(--ink-faint);font-size:19px;line-height:1;cursor:pointer;}
.pay-h h3{margin:0 0 6px;font-size:20px;letter-spacing:.08em;color:var(--gold);font-weight:400;}
.pay-sub{margin:0;font-size:15px;color:var(--ink-faint);}
.pay-sub b{color:var(--ink);}
.pay-gap{color:var(--cinnabar);}
.pay-sec{margin-top:18px;}
.pay-sec h4{margin:0 0 10px;font-size:15px;color:var(--warm-tx);font-weight:400;letter-spacing:.1em;}
.pay-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.pay-grid.wide{grid-template-columns:repeat(3,minmax(0,1fr));}
.pay-sku{position:relative;padding:14px 12px;border:1px solid var(--line-soft);border-radius:12px;
  background:rgba(8,12,22,.5);color:var(--ink);cursor:pointer;text-align:left;transition:.28s;font-family:inherit;}
.pay-sku:hover{border-color:rgba(217,188,122,.6);transform:translateY(-2px);}
.pay-sku b{display:block;font-size:16.5px;font-weight:400;color:var(--ink);}
.pay-sku i{display:block;font-style:normal;font-size:13.5px;color:var(--ink-faint);margin-top:3px;}
.pay-sku span{display:block;margin-top:8px;font-size:17px;color:var(--gold);}
.pay-sku.hot{border-color:rgba(217,188,122,.78);background:rgba(217,188,122,.09);}
.pay-badge{position:absolute;right:8px;top:-9px;padding:2px 9px;border-radius:99px;font-size:11.5px;font-style:normal;
  background:linear-gradient(140deg,#e9cf96,#c9a558);color:#0d1120;}
.pay-foot{display:flex;gap:18px;justify-content:center;margin-top:18px;flex-wrap:wrap;}
.pay-link{font-size:15px;color:var(--gold);text-decoration:none;}
/* 音解锁卡「可下载留存」标红加粗（2026-10-12 用户定案；（约 ¥40）已删） */
.mp-card strong.mp-dl-red{color:var(--cinnabar);font-weight:700;font-style:normal;letter-spacing:.06em;}
.pay-note{margin:16px 0 0;font-size:13.5px;color:var(--ink-faint);text-align:center;line-height:1.75;}
/* 价格页 */
.pay-two{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;margin-top:16px;}
.pay-state{margin-top:14px;padding:10px 16px;border:1px solid var(--line-soft);border-radius:99px;
  display:inline-block;font-size:15px;color:var(--ink-faint);}
.pay-state.ok{border-color:rgba(217,188,122,.6);color:var(--gold);}
.pay-ul{margin:12px 0 0;padding-left:18px;}
.pay-ul li{font-size:14.5px;color:var(--warm-tx);line-height:1.95;}
.pay-ul b{color:var(--gold);font-weight:400;}
.pay-tip{margin:14px 0 0;font-size:14.5px;color:var(--gold);}
.pay-price-list{margin:6px 0 10px;}
/* 邀友有礼（#/invite） */
.ref-code{margin:14px 0 12px;padding:14px 18px;border:1px dashed rgba(217,188,122,.6);border-radius:12px;
  font-family:var(--kai);font-size:29px;letter-spacing:.22em;text-indent:.22em;text-align:center;color:var(--gold);
  background:rgba(217,188,122,.07);user-select:all;-webkit-user-select:all;word-break:break-all;}
.ref-link{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.ref-link input{flex:1 1 240px;min-width:0;padding:10px 14px;border:1px solid var(--line-soft);border-radius:10px;
  background:rgba(255,255,255,.04);color:var(--ink);font-size:14.5px;font-family:var(--kai);}
.ref-link button{flex:0 0 auto;white-space:nowrap;}
.ref-tip{margin-top:10px;}
.ref-list{margin-top:14px;}
body.day .ref-code{background:rgba(122,96,40,.07);}
body.day .ref-link input{background:rgba(255,252,244,.8);}
@media (max-width:520px){
  .ref-code{font-size:23px;letter-spacing:.16em;text-indent:.16em;padding:12px 14px;}
}
/* 首批永久卡（一次买断 · 永久权限） */
.pay-lt-hero{position:relative;margin-top:22px;padding:24px;border:1px solid rgba(217,188,122,.55);border-radius:16px;
  background:linear-gradient(150deg,rgba(217,188,122,.14),rgba(217,188,122,.04) 58%,rgba(232,80,63,.07));}
.pay-lt-hero .pay-lt-badge{position:absolute;top:-11px;left:24px;padding:2px 12px;border-radius:99px;font-size:12.5px;font-style:normal;
  color:#1a1206;letter-spacing:.06em;background:linear-gradient(140deg,#f0d79f,#c9a558);}
.pay-lt-h h3{margin:0;font-size:22px;font-weight:400;color:var(--gold);letter-spacing:.04em;}
.pay-lt-h p{margin:9px 0 0;font-size:15px;color:var(--warm-tx);line-height:1.85;}
.pay-lt-h p b{color:var(--gold);font-weight:400;}
.pay-lt-body{display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;margin-top:14px;}
.pay-lt-body .pay-ul{margin-top:0;}
.pay-lt-buy{text-align:center;min-width:200px;}
.pay-lt-buy b{display:block;font-size:40px;font-weight:400;color:var(--gold);line-height:1.05;}
.pay-lt-buy i{display:block;font-style:normal;font-size:13.5px;color:var(--ink-faint);margin:6px 0 14px;}
.pay-lt-buy .btn-gold{width:100%;}
.pay-lt-note{margin:16px 0 0;padding-top:13px;border-top:1px dashed rgba(217,188,122,.22);font-size:13.5px;color:var(--ink-faint);line-height:1.8;}
/* 解锁卡内的永久卡推荐条 */
.pay-lt{position:relative;display:flex;align-items:center;gap:14px;width:100%;margin-top:18px;padding:15px 18px;
  border:1px solid rgba(217,188,122,.6);border-radius:12px;cursor:pointer;text-align:left;transition:transform .2s,border-color .2s;
  background:linear-gradient(120deg,rgba(217,188,122,.16),rgba(217,188,122,.04));}
.pay-lt:hover{transform:translateY(-2px);border-color:rgba(217,188,122,.9);}
.pay-lt-tag{position:absolute;top:-10px;left:14px;padding:1px 10px;border-radius:99px;font-size:12px;font-style:normal;
  color:#1a1206;background:linear-gradient(140deg,#f0d79f,#c9a558);}
.pay-lt-txt{flex:1;min-width:0;}
.pay-lt-txt b{display:block;font-size:16.5px;font-weight:400;color:var(--gold);}
.pay-lt-txt i{display:block;font-style:normal;font-size:13.5px;color:var(--warm-tx);margin-top:3px;}
.pay-lt-p{font-size:25px;color:var(--gold);text-align:right;line-height:1.15;}
.pay-lt-p i{display:block;font-style:normal;font-size:12.5px;color:var(--ink-faint);}
.res-back-line{display:inline-block;margin-top:18px;font-size:15px;color:var(--gold);text-decoration:none;}
/* 账户中心余额 */
.acct-wallet{margin-top:12px;padding:12px 14px;border:1px dashed rgba(217,188,122,.3);border-radius:12px;line-height:1.7;}
.acct-wallet b{font-size:17px;color:var(--gold);font-weight:400;margin-left:8px;}
.acct-wallet i{display:block;font-style:normal;font-size:14px;color:var(--ink-faint);margin-top:2px;}
.acct-badge{display:inline-block;padding:2px 10px;border-radius:99px;font-size:12.5px;border:1px solid var(--line-soft);color:var(--ink-faint);}
.acct-badge.ok{border-color:var(--gold-soft);color:#0d1120;background:linear-gradient(140deg,#e9cf96,#c9a558);}
/* 未注册访客拦截卡（核心工具需注册；见 gate.js） */
.gate-mask{position:fixed;inset:0;z-index:250;display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(4,7,14,.72);opacity:0;pointer-events:none;transition:opacity .25s;}
.gate-mask.on{opacity:1;pointer-events:auto;}
.gate-card{position:relative;width:100%;max-width:430px;max-height:88vh;overflow:auto;padding:30px 26px 22px;
  border:1px solid rgba(217,188,122,.45);border-radius:18px;text-align:center;
  background:linear-gradient(160deg,#141c2e,#0b1019);box-shadow:0 24px 64px rgba(0,0,0,.55);}
.gate-seal{width:54px;height:54px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(217,188,122,.55);color:var(--gold);font-size:24px;font-family:Kaiti SC,STKaiti,KaiTi,serif;
  background:radial-gradient(circle at 50% 32%,rgba(217,188,122,.2),transparent 72%);}
.gate-card h3{margin:0;font-size:21px;font-weight:400;color:var(--ink);letter-spacing:.04em;}
.gate-sub{margin:9px 0 0;font-size:14.5px;color:var(--ink-faint);line-height:1.8;}
.gate-sub b{color:var(--gold);font-weight:400;}
.gate-ul{list-style:none;margin:16px 0 0;padding:0;text-align:left;}
.gate-ul li{position:relative;padding:7px 0 7px 18px;font-size:15px;color:var(--warm-tx);line-height:1.7;}
.gate-ul li::before{content:'\25C6';position:absolute;left:0;top:8px;color:var(--gold);font-size:10px;opacity:.85;}
.gate-ul b{color:var(--gold);font-weight:400;}
.gate-acts{display:flex;flex-direction:column;gap:10px;margin-top:20px;}
.gate-acts .btn-gold,.gate-acts .btn-line{width:100%;}
.gate-note{margin:14px 0 0;font-size:13px;color:var(--ink-faint);line-height:1.7;}
body.day .gate-mask{background:rgba(240,236,228,.78);}
body.day .gate-card{background:linear-gradient(160deg,#fffdf8,#f5f0e6);border-color:rgba(122,96,40,.4);}
body.day .gate-ul li{color:rgba(40,34,24,.86);}
body.day .gate-seal{background:radial-gradient(circle at 50% 32%,rgba(122,96,40,.16),transparent 72%);border-color:rgba(122,96,40,.5);}
/* 注册礼提示（注册页） */
.auth-bonus{margin:0 0 12px;padding:8px 12px;border-radius:10px;font-size:14.5px;text-align:center;
  color:var(--warm-hi);border:1px dashed rgba(217,188,122,.42);background:rgba(217,188,122,.07);}
.auth-bonus b{color:var(--gold);font-weight:400;}
body.day .auth-bonus{color:rgba(40,34,24,.85);}
@media(max-width:760px){
  .pay-two{grid-template-columns:1fr;}
  .pay-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pay-grid.wide{grid-template-columns:1fr;}
  .pay-card{padding:22px 16px 16px;}
  .pay-lt-hero{padding:22px 16px 18px;}
  .pay-lt-hero .pay-lt-badge{left:16px;}
  .pay-lt-body{grid-template-columns:1fr;gap:16px;}
  .pay-lt-buy{min-width:0;}
  .pay-lt-buy b{font-size:34px;}
  .pay-lt{flex-wrap:wrap;gap:10px;}
  .pay-lt-p{margin-left:auto;}
  .gate-card{padding:26px 18px 18px;border-radius:16px;}
  .gate-card h3{font-size:19px;}
  .gate-ul li{font-size:14.5px;}
}

/* ---------- 门厅五幕开场运镜 HUD ---------- */
#hallCine{position:fixed;inset:0;pointer-events:none;z-index:60}
.hc-top{position:absolute;top:26px;left:0;right:0;display:flex;
  justify-content:space-between;align-items:flex-start;padding:0 30px;
  opacity:0;transition:opacity 1.1s}
#hallCine.on .hc-top{opacity:1}
.hc-ch b{display:block;font-size:17px;font-weight:700;letter-spacing:.5em;color:#e6cd96}
.hc-ch span{display:block;margin-top:6px;font-size:12px;letter-spacing:.24em;
  color:rgba(217,188,122,.58)}
.hc-cal{text-align:right}
.hc-cal b{display:block;font-size:24px;font-weight:700;letter-spacing:.3em;color:#e6cd96;
  text-shadow:0 0 16px rgba(230,205,150,.25)}
.hc-cal span{display:block;margin-top:4px;font-size:12px;letter-spacing:.24em;
  color:rgba(217,188,122,.62)}
.hc-cap{position:absolute;left:0;right:0;top:19%;text-align:center;font-size:19px;
  letter-spacing:.55em;text-indent:.55em;color:rgba(232,208,158,.92);opacity:0;
  transition:opacity 1.3s;text-shadow:0 0 18px rgba(230,205,150,.3)}
#hallCine.on .hc-cap{opacity:1;transition-delay:.6s}
#hallCine.done .hc-cap{opacity:0;transition:opacity 1s}
/* 跳过按钮独占右上角（原 hc-top 文字块已删） */
.hc-skip{position:absolute;top:26px;right:30px;pointer-events:auto;background:rgba(10,8,5,.35);
  border:1px solid rgba(217,188,122,.35);color:rgba(230,205,150,.85);font-size:13px;
  padding:6px 15px;border-radius:999px;cursor:pointer;letter-spacing:.2em;
  font-family:inherit;opacity:0;transition:opacity .8s,border-color .2s}
#hallCine.on .hc-skip{opacity:1}
.hc-skip:hover{border-color:rgba(230,205,150,.8);color:#f2e0b0}
.hc-cta{position:absolute;left:0;right:0;bottom:9vh;text-align:center;opacity:0;
  transition:opacity 1.1s;pointer-events:none}
#hallCine.done .hc-cta{opacity:1;pointer-events:auto}
.hc-cta a{display:inline-block;border:1px solid rgba(217,188,122,.5);color:#e6cd96;
  text-decoration:none;font-size:16px;letter-spacing:.5em;text-indent:.5em;
  padding:13px 38px;border-radius:999px;background:rgba(10,8,5,.4);
  transition:border-color .2s,box-shadow .2s}
.hc-cta a:hover{border-color:rgba(240,216,160,.9);box-shadow:0 0 26px rgba(230,205,150,.18)}
/* 幕四竖排题字：玄之又玄 · 众妙之门（逐字浮现） */
.hc-title{position:absolute;right:6vw;top:24vh;display:flex;flex-direction:row-reverse;
  gap:36px;opacity:0;transition:opacity 1.4s;font-family:"Kaiti SC",KaiTi,"Noto Serif SC",serif}
.hc-title.show{opacity:1}
.hc-title .line{writing-mode:vertical-rl;font-size:64px;font-weight:700;letter-spacing:.3em;
  color:#ead9a8;text-shadow:0 0 24px rgba(232,213,150,.35)}
.hc-title .line i{display:inline-block;font-style:normal;opacity:0;transform:translateY(-12px);
  transition:opacity .9s,transform .9s}
.hc-title.show .line i{opacity:1;transform:none}
.hc-title .post{writing-mode:vertical-rl;font-size:15px;letter-spacing:.3em;
  color:rgba(232,213,168,.62);margin-top:10px}
@media (max-width:640px){
  .hc-title{right:5vw;top:20vh}
  .hc-title .line{font-size:40px}
  .hc-cal b{font-size:19px}
}


/* ================= 全站音乐悬浮键 ================= */
.mu-fab{display:flex;position:fixed;right:18px;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:70;
  width:46px;height:46px;border-radius:50%;border:1px solid var(--line);cursor:pointer;padding:0;
  background:rgba(12,17,28,.86);backdrop-filter:blur(10px);color:var(--gold);
  box-shadow:0 6px 18px rgba(0,0,0,.38);align-items:center;justify-content:center;
  transition:border-color .25s,box-shadow .25s,transform .15s}
.mu-fab:active{transform:scale(.92)}
.mu-fab .mu-fab-note{font-size:19px;line-height:1;opacity:.92}
.mu-fab .mu-fab-eq{display:none;align-items:flex-end;gap:2.5px;height:16px}
.mu-fab .mu-fab-eq i{width:3px;height:6px;background:var(--gold);border-radius:2px;animation:muEq 1s ease-in-out infinite}
.mu-fab .mu-fab-eq i:nth-child(2){animation-delay:.28s}
.mu-fab .mu-fab-eq i:nth-child(3){animation-delay:.55s}
@keyframes muEq{0%,100%{height:5px;opacity:.75}50%{height:15px;opacity:1}}
.mu-fab.on{border-color:var(--gold);box-shadow:0 6px 22px rgba(217,188,122,.3)}
.mu-fab.on .mu-fab-note{display:none}
.mu-fab.on .mu-fab-eq{display:flex}
.mu-fab.hide{display:none!important}
@media(max-width:640px){.mu-fab{right:14px;bottom:calc(82px + env(safe-area-inset-bottom,0px));width:42px;height:42px}}

/* ===== 音藥 · 播放器增强（唱片封面 / 收藏 / 播放模式 / 播放列表 / 迷你播放器） ===== */
.mu-disc{position:relative;display:inline-flex;flex:none;width:var(--sz,74px);height:var(--sz,74px);border-radius:50%;
  background:radial-gradient(circle at 50% 50%,#151821 0 33%,#0a0d15 100%);
  border:1px solid rgba(217,188,122,.42);
  box-shadow:0 8px 26px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.09),0 0 22px rgba(217,188,122,.14);
  overflow:hidden;}
.mu-dg{position:absolute;inset:0;border-radius:50%;
  background:repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.055) 0 1px,rgba(0,0,0,0) 1px 5px);}
.mu-dart{position:absolute;inset:0;width:100%;height:100%;opacity:.5;}
.mu-dart path,.mu-dart circle,.mu-dart ellipse{stroke-width:1.5;}
.mu-dtx{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:54%;height:54%;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;
  background:radial-gradient(circle at 34% 26%,rgba(255,255,255,.2),rgba(255,255,255,0) 62%),
    linear-gradient(150deg,var(--ec,#c3a35c),rgba(10,13,22,.92));
  box-shadow:inset 0 0 10px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.07);}
.mu-dtx b{font-size:calc(var(--sz,74px) * .3);line-height:1.05;color:#150f06;font-weight:700;
  text-shadow:0 1px 0 rgba(255,255,255,.35);}
.mu-dtx i{font-style:normal;font-size:calc(var(--sz,74px) * .135);letter-spacing:.06em;color:rgba(21,15,6,.78);margin-top:1px;}
.mu-disc.spin .mu-dg{animation:muSpin 16s linear infinite;}
.mu-disc.spin{border-color:rgba(217,188,122,.72);box-shadow:0 8px 26px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.12),0 0 26px rgba(217,188,122,.3);}
.mu-disc.spin .mu-dart{opacity:.62;}
@keyframes muSpin{to{transform:rotate(360deg);}}
.mu-nowdisc{display:inline-flex;flex:none;}
.mu-nowtools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:13px;padding-top:12px;border-top:1px solid rgba(217,188,122,.14);}
.mu-tool{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:99px;border:1px solid var(--line);
  background:rgba(255,255,255,.03);color:var(--ink-faint);font-size:14px;letter-spacing:.04em;cursor:pointer;transition:.2s;}
.mu-tool:hover{border-color:var(--gold);color:var(--gold);}
.mu-tool svg{width:15px;height:15px;fill:currentColor;}
.mu-tool.on{color:var(--cinnabar);border-color:rgba(232,80,63,.5);background:rgba(232,80,63,.08);}
.mu-rfav{width:30px;height:30px;border-radius:50%;border:1px solid transparent;background:none;color:var(--ink-faint);
  opacity:.7;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:none;transition:.2s;padding:0;}
.mu-rfav svg{width:15px;height:15px;fill:currentColor;}
.mu-rfav:hover{opacity:1;color:var(--gold);}
.mu-rfav.on{color:var(--cinnabar);opacity:1;}
.mu-tr .mu-rfav{margin-left:auto;}

/* 悬浮小键：播放列表（叠在 ♪ 之上） */
.mu-mini-btn{position:fixed;right:18px;bottom:calc(134px + env(safe-area-inset-bottom,0px));z-index:70;
  display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:50%;
  border:1px solid var(--line);background:rgba(12,17,28,.86);backdrop-filter:blur(10px);color:var(--gold);
  cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.38);transition:border-color .25s,box-shadow .25s,transform .15s;}
.mu-mini-btn:hover{border-color:var(--gold);transform:translateY(-2px);}
.mu-mini-btn:active{transform:scale(.92);}
.mu-mini-btn svg{width:16px;height:16px;fill:currentColor;}
.mu-mini-btn.on{border-color:var(--gold-l);box-shadow:0 6px 20px rgba(217,188,122,.28);}
.mu-mini-btn.hide{display:none!important;}

/* 迷你播放器 */
.mu-mini-mask{position:fixed;inset:0;z-index:74;display:none;}
.mu-mini-mask.on{display:block;}
.mu-mini{position:fixed;right:18px;bottom:calc(178px + env(safe-area-inset-bottom,0px));z-index:75;
  width:min(312px,calc(100vw - 28px));padding:14px 15px 12px;border-radius:18px;
  border:1px solid rgba(217,188,122,.36);background:rgba(9,13,23,.95);backdrop-filter:blur(16px);
  box-shadow:0 18px 48px rgba(0,0,0,.62);color:var(--ink);
  opacity:0;visibility:hidden;transform:translateY(12px) scale(.97);transform-origin:100% 100%;
  transition:opacity .22s,transform .22s,visibility .22s;}
.mu-mini.on{opacity:1;visibility:visible;transform:none;}
.mu-mini-top{display:flex;align-items:center;gap:11px;}
.mu-mini-disc{display:inline-flex;flex:none;}
.mu-mini-info{flex:1;min-width:0;}
.mu-mini-info em{display:block;font-style:normal;font-size:11.5px;letter-spacing:.2em;color:var(--cinnabar);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mu-mini-info b{display:block;font-size:17px;color:var(--gold);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mu-mini-info i{display:block;font-style:normal;font-size:12px;color:var(--ink-faint);opacity:.85;margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mu-mini-x{flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);background:none;
  color:var(--ink-faint);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:.2s;}
.mu-mini-x:hover{color:var(--gold);border-color:var(--gold);}
.mu-mini-x svg{width:13px;height:13px;fill:currentColor;}
.mu-mini-bar{display:flex;align-items:center;gap:9px;margin-top:12px;}
#muMiniTime,#muMiniLen{font-size:11.5px;color:var(--ink-faint);flex:none;font-variant-numeric:tabular-nums;}
.mu-mini-ctl{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:11px;}
.mu-mini-ic{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--ink-faint);
  cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:.2s;}
.mu-mini-ic svg{width:15px;height:15px;fill:currentColor;}
.mu-mini-ic:hover{border-color:var(--gold);color:var(--gold);}
.mu-mini-ic.on{color:var(--cinnabar);border-color:rgba(232,80,63,.5);}
.mu-mini-play{width:46px;height:46px;border-radius:50%;padding:0;cursor:pointer;color:var(--gold-l);
  border:1px solid rgba(217,188,122,.55);
  background:radial-gradient(circle at 34% 28%,rgba(217,188,122,.3),rgba(12,16,26,.96) 68%);
  box-shadow:0 6px 20px rgba(0,0,0,.5),0 0 16px rgba(217,188,122,.16);
  display:flex;align-items:center;justify-content:center;transition:.25s;}
.mu-mini-play svg{width:19px;height:19px;fill:currentColor;}
.mu-mini-play:hover{border-color:var(--gold-l);box-shadow:0 6px 24px rgba(217,188,122,.32);}
.mu-mini-play:active{transform:scale(.94);}
.mu-mini-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:10px;
  border-top:1px solid rgba(217,188,122,.14);}
.mu-mini-modenote{font-size:11.5px;color:var(--ink-faint);opacity:.9;letter-spacing:.05em;}
.mu-mini-list{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:99px;border:1px solid var(--line);
  background:none;color:var(--gold);font-size:12.5px;cursor:pointer;transition:.2s;}
.mu-mini-list:hover{border-color:var(--gold);background:rgba(217,188,122,.08);}
.mu-mini-list svg{width:13px;height:13px;fill:currentColor;}

/* 播放列表抽屉 */
.mu-sheet-mask{position:fixed;inset:0;z-index:86;background:rgba(4,6,12,.55);backdrop-filter:blur(2px);
  opacity:0;visibility:hidden;transition:.22s;}
.mu-sheet-mask.on{opacity:1;visibility:visible;}
.mu-sheet{position:fixed;left:50%;bottom:0;transform:translate(-50%,102%);z-index:87;width:min(560px,100vw);
  max-height:66vh;display:flex;flex-direction:column;color:var(--ink);
  border:1px solid rgba(217,188,122,.3);border-bottom:none;border-radius:18px 18px 0 0;
  background:rgba(9,13,23,.98);backdrop-filter:blur(16px);box-shadow:0 -16px 44px rgba(0,0,0,.6);
  transition:transform .28s cubic-bezier(.22,.8,.3,1);}
.mu-sheet.on{transform:translate(-50%,0);}
.mu-sheet-grip{width:38px;height:3px;border-radius:99px;background:rgba(217,188,122,.35);margin:9px auto 0;flex:none;}
.mu-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 15px 6px;flex:none;}
.mu-sheet-tabs{display:inline-flex;gap:5px;background:rgba(255,255,255,.04);border-radius:99px;padding:4px;}
.mu-stab{border:none;background:none;color:var(--ink-faint);font-size:13.5px;padding:6px 13px;border-radius:99px;
  cursor:pointer;letter-spacing:.05em;transition:.2s;}
.mu-stab:hover{color:var(--gold);}
.mu-stab.on{background:linear-gradient(150deg,#c3a35c,var(--gold));color:#1a1408;font-weight:700;}
.mu-sheet-sub{padding:2px 17px 9px;font-size:12px;color:var(--ink-faint);opacity:.85;flex:none;display:flex;align-items:center;gap:10px;justify-content:space-between;}
.mu-sheet-modebtn{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(217,188,122,.36);background:rgba(217,188,122,.07);
  color:var(--gold-l);border-radius:999px;padding:4px 11px;font-size:11.5px;font-family:inherit;cursor:pointer;white-space:nowrap;transition:.18s;flex:none;}
.mu-sheet-modebtn:hover{border-color:rgba(217,188,122,.6);background:rgba(217,188,122,.14);}
.mu-sheet-modebtn svg{width:14px;height:14px;}
.mu-sheet-body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 10px calc(16px + env(safe-area-inset-bottom,0px));}
.mu-srow{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:12px;cursor:pointer;transition:.18s;}
.mu-srow:hover{background:rgba(217,188,122,.07);}
.mu-srow.on{background:rgba(232,80,63,.09);box-shadow:inset 0 0 0 1px rgba(232,80,63,.32);}
.mu-sidx{width:22px;text-align:center;font-size:12px;color:var(--ink-faint);flex:none;}
.mu-srow.on .mu-sidx{color:var(--cinnabar);}
.mu-stt{flex:1;min-width:0;font-size:16px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mu-stag{font-size:12px;color:var(--ink-faint);flex:none;max-width:36%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.mu-slen{font-size:12px;color:var(--ink-faint);text-decoration:none;flex:none;font-variant-numeric:tabular-nums;}
.mu-sheet-empty{padding:28px 18px;text-align:center;font-size:14px;color:var(--ink-faint);line-height:1.95;}

/* 首页 · 我的收藏入口 */
.mu-faventry{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:14px;}
.mu-favbtn{display:inline-flex;align-items:center;gap:9px;padding:11px 18px;border-radius:99px;cursor:pointer;
  border:1px solid rgba(217,188,122,.4);background:rgba(217,188,122,.07);color:var(--gold);
  font-size:15px;letter-spacing:.06em;transition:.22s;}
.mu-favbtn:hover{border-color:var(--gold-l);background:rgba(217,188,122,.13);transform:translateY(-1px);}
.mu-favbtn svg{width:16px;height:16px;fill:currentColor;}
.mu-favbtn em{font-style:normal;font-size:12.5px;color:var(--ink-faint);opacity:.9;}
.mu-favhint{font-size:12.5px;color:var(--ink-faint);opacity:.8;}
.mu-favempty{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:56px 20px;
  border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);}
.mu-favempty svg{width:34px;height:34px;fill:none;stroke:rgba(217,188,122,.6);stroke-width:1.3;}
.mu-favempty b{font-size:19px;color:var(--gold);letter-spacing:.08em;}
.mu-favempty p{font-size:14.5px;color:var(--ink-faint);line-height:1.95;max-width:430px;}
.mu-favgo{margin-top:6px;padding:11px 24px;border-radius:99px;cursor:pointer;font-size:15px;letter-spacing:.1em;
  border:1px solid var(--gold-l);background:linear-gradient(150deg,#c3a35c,var(--gold));color:#1a1408;}

/* 轻提示 */
.mu-toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom,0px));transform:translate(-50%,10px);
  z-index:200;padding:9px 18px;border-radius:99px;background:rgba(12,17,28,.94);border:1px solid rgba(217,188,122,.35);
  color:var(--gold);font-size:13.5px;letter-spacing:.06em;backdrop-filter:blur(10px);pointer-events:none;
  opacity:0;visibility:hidden;transition:.22s;}
.mu-toast.on{opacity:1;visibility:visible;transform:translate(-50%,0);}
@media(max-width:640px){
  .mu-mini-btn{right:14px;bottom:calc(130px + env(safe-area-inset-bottom,0px));}
  .mu-mini{right:14px;left:14px;width:auto;bottom:calc(226px + env(safe-area-inset-bottom,0px));}
  .mu-nowtools{gap:8px;}
  .mu-tool{padding:7px 12px;font-size:13.5px;}
  .mu-sheet{width:100vw;}
}

/* 播放列表 · 曲单切换条 */
.mu-sheet-title{font-size:15px;color:var(--gold);letter-spacing:.2em;}
.mu-sheet-cats{display:flex;gap:8px;overflow-x:auto;padding:2px 15px 11px;flex:none;
  scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;cursor:grab;
  background:
    linear-gradient(90deg,rgba(9,13,23,.98) 26%,rgba(9,13,23,0)) left/26px 100% no-repeat local,
    linear-gradient(-90deg,rgba(9,13,23,.98) 26%,rgba(9,13,23,0)) right/26px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.5),rgba(0,0,0,0)) left/14px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.5),rgba(0,0,0,0)) right/14px 100% no-repeat scroll;}
.mu-sheet-cats:active{cursor:grabbing;}
.mu-sheet-cats::-webkit-scrollbar{display:none;}
.mu-chip{flex:none;padding:7px 14px;border-radius:99px;border:1px solid var(--line);
  background:rgba(255,255,255,.03);color:var(--ink-faint);font-size:13.5px;letter-spacing:.04em;
  cursor:pointer;white-space:nowrap;transition:.2s;}
.mu-chip:hover{color:var(--gold);border-color:rgba(217,188,122,.5);}
.mu-chip.on{background:linear-gradient(150deg,#c3a35c,var(--gold));color:#1a1408;border-color:var(--gold-l);font-weight:700;}
.mu-chip em{font-style:normal;font-size:11.5px;opacity:.75;margin-left:5px;}
.mu-sheet-subrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 15px 9px;flex:none;}
.mu-sheet-sub{font-size:12px;color:var(--ink-faint);opacity:.85;min-width:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mu-playall{flex:none;padding:6px 13px;border-radius:99px;cursor:pointer;font-size:12.5px;letter-spacing:.05em;
  border:1px solid rgba(217,188,122,.45);background:rgba(217,188,122,.08);color:var(--gold);transition:.2s;}
.mu-playall:hover{border-color:var(--gold-l);background:rgba(217,188,122,.16);}
.mu-playall:active{transform:scale(.97);}
@media(max-width:640px){.mu-sheet-cats{padding-left:13px;padding-right:13px;}}

/* 精听片段 · 首页横滑电台条 */
.mu-clips{margin-top:20px;border:1px solid var(--line);border-radius:var(--radius);
  background:rgba(9,13,23,.5);padding:15px 0 4px;}
.mu-clips-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:0 16px 11px;}
.mu-clips-head b{font-size:16px;color:var(--gold);letter-spacing:.14em;}
.mu-clips-head span{font-size:12.5px;color:var(--ink-faint);opacity:.85;}
.mu-clips-rail{display:flex;gap:12px;overflow-x:auto;padding:2px 16px 12px;flex:none;
  scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;cursor:grab;
  background:
    linear-gradient(90deg,rgba(10,14,24,.96) 24%,rgba(10,14,24,0)) left/28px 100% no-repeat local,
    linear-gradient(-90deg,rgba(10,14,24,.96) 24%,rgba(10,14,24,0)) right/28px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.45),rgba(0,0,0,0)) left/14px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.45),rgba(0,0,0,0)) right/14px 100% no-repeat scroll;}
.mu-clips-rail::-webkit-scrollbar{display:none;}
.mu-clips-rail:active{cursor:grabbing;}
.mu-clip{flex:none;width:152px;display:flex;flex-direction:column;align-items:center;gap:7px;
  padding:15px 12px 13px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03);
  color:var(--ink);cursor:pointer;transition:border-color .22s,background .22s,transform .18s;}
.mu-clip:hover{border-color:rgba(217,188,122,.5);transform:translateY(-2px);}
.mu-clip:active{transform:scale(.98);}
.mu-clip.on{border-color:var(--gold);background:rgba(217,188,122,.09);}
.mu-clip-t{font-size:15px;color:var(--gold);letter-spacing:.05em;margin-top:2px;}
.mu-clip-s{font-size:11.5px;font-style:normal;color:var(--ink-faint);text-align:center;line-height:1.5;min-height:17px;}
.mu-clip-play{font-size:12px;font-style:normal;color:var(--gold-l);border:1px solid rgba(217,188,122,.42);
  border-radius:99px;padding:4px 12px;margin-top:3px;transition:.2s;}
.mu-clip.playing .mu-clip-play{background:linear-gradient(150deg,#c3a35c,var(--gold));color:#1a1408;border-color:var(--gold-l);}
.mu-clip.playing .mu-disc{animation:muSpin 16s linear infinite;}
@media(max-width:640px){
  .mu-clips-rail{padding-left:13px;padding-right:13px;}
  .mu-clip{width:134px;}
}

/* ===== 播放设置面板（顺序 / 单曲循环 / 随机 / 五音轮播 直选） ===== */
.mu-mode-mask{position:fixed;inset:0;z-index:88;background:rgba(4,6,12,.55);backdrop-filter:blur(2px);
  opacity:0;visibility:hidden;transition:.22s;}
.mu-mode-mask.on{opacity:1;visibility:visible;}
.mu-mode-card{position:fixed;left:50%;bottom:0;transform:translate(-50%,102%);z-index:89;width:min(430px,100vw);
  color:var(--ink);border:1px solid rgba(217,188,122,.3);border-bottom:none;border-radius:18px 18px 0 0;
  background:rgba(9,13,23,.98);backdrop-filter:blur(16px);box-shadow:0 -16px 44px rgba(0,0,0,.6);
  transition:transform .28s cubic-bezier(.22,.8,.3,1);padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));}
.mu-mode-card.on{transform:translate(-50%,0);}
.mu-mode-grip{width:38px;height:3px;border-radius:99px;background:rgba(217,188,122,.35);margin:9px auto 0;}
.mu-mode-h{display:flex;align-items:baseline;gap:10px;padding:10px 17px 5px;}
.mu-mode-h b{font-size:16px;color:var(--gold);letter-spacing:.14em;}
.mu-mode-h span{font-size:12.5px;color:var(--ink-faint);opacity:.85;}
.mu-mode-list{padding:3px 10px 2px;display:flex;flex-direction:column;gap:4px;}
.mu-mode-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 13px;border-radius:13px;
  border:1px solid transparent;background:rgba(255,255,255,.03);color:var(--ink);cursor:pointer;text-align:left;
  font-family:inherit;transition:.18s;}
.mu-mode-row:hover{background:rgba(217,188,122,.08);}
.mu-mode-row.on{border-color:var(--gold);background:rgba(217,188,122,.12);}
.mu-mode-ic{flex:none;width:26px;height:26px;display:flex;align-items:center;justify-content:center;color:var(--gold-l);}
.mu-mode-ic svg{width:20px;height:20px;}
.mu-mode-i{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.mu-mode-i b{font-size:15.5px;color:var(--gold);letter-spacing:.04em;}
.mu-mode-i i{font-style:normal;font-size:12.5px;color:var(--ink-faint);opacity:.85;}
.mu-mode-tick{flex:none;color:var(--gold);font-size:15px;}
.mu-mode-note{font-size:11.5px;color:var(--ink-faint);opacity:.7;margin:8px 0 0;padding:0 18px 12px;line-height:1.6;}
@media(max-width:640px){
  .mu-mode-card{width:100vw;}
}

/* ===== 此时辰 · 宜听五音（「辰→脏→音」三大字视觉链，整卡点击即听；类名带 ar 避开歌单页 .mu-shich） ===== */
.mu-shicar{display:flex;align-items:center;gap:16px;margin:2px 16px 12px;padding:14px 18px;cursor:pointer;
  border:1px solid rgba(217,188,122,.3);border-radius:14px;
  background:linear-gradient(140deg,rgba(217,188,122,.09),rgba(232,80,63,.06) 62%,rgba(217,188,122,.03));
  transition:border-color .22s,background .22s,transform .18s;}
.mu-shicar:hover{border-color:rgba(217,188,122,.55);transform:translateY(-2px);}
.mu-shicar:active{transform:scale(.99);}
.mu-shicar.on{border-color:var(--gold);background:rgba(217,188,122,.1);}
/* 三大字关系链：辰 → 脏 → 音 */
.mu-shichain{flex:none;display:flex;align-items:center;gap:9px;}
.mu-shinode{display:flex;flex-direction:column;align-items:center;gap:4px;}
.mu-shinode b{width:60px;height:60px;line-height:56px;text-align:center;border-radius:50%;
  border:1px solid;font-family:"STKaiti","KaiTi","Songti SC",serif;font-size:31px;font-weight:700;}
.mu-shinode i{font-style:normal;font-size:11.5px;color:var(--ink-faint);white-space:nowrap;opacity:.9;}
.mu-shiarr{color:rgba(217,188,122,.6);font-size:15px;margin-top:-16px;}
.mu-shikey i{color:var(--gold);opacity:1;}
/* 推荐曲信息 */
.mu-shimeta{flex:1;min-width:0;display:flex;align-items:center;gap:12px;}
.mu-shicar-i{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;}
.mu-shicar-t{font-size:18px;color:var(--gold);letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mu-shicar-s{font-style:normal;font-size:14px;color:#e9cd8c;opacity:.92;line-height:1.6;}
.mu-shicar-p{flex:none;font-size:12.5px;font-style:normal;color:var(--gold-l);border:1px solid rgba(217,188,122,.42);
  border-radius:999px;padding:6px 14px;white-space:nowrap;transition:.2s;}
.mu-shicar.on .mu-shicar-p{background:linear-gradient(150deg,#c3a35c,var(--gold));color:#1a1408;border-color:var(--gold-l);}
.mu-shicar-note{font-size:12px;color:var(--ink-faint);opacity:.7;margin:0;padding:0 18px 13px;line-height:1.6;}
@media(max-width:640px){
  .mu-shicar{margin:2px 13px 10px;padding:13px 12px;gap:10px;flex-direction:column;}
  .mu-shichain{align-self:center;}
  .mu-shinode b{width:52px;height:52px;line-height:49px;font-size:27px;}
  .mu-shinode i{font-size:11px;}
  .mu-shimeta{width:100%;}
  .mu-shicar-t{font-size:17px;}
  .mu-shicar-s{font-size:13.5px;}
  .mu-shicar-note{padding:0 15px 12px;}
}

/* ===== 音藥精靈「樂」（右下音樂鍵左側的小寵物：白為面、木為身足、幺為手，頭頂淡金艹） ===== */
#dmSpirit{position:fixed;right:80px;bottom:calc(70px + env(safe-area-inset-bottom,0px));z-index:64;
  width:88px;height:96px;pointer-events:none;opacity:0;transform:translateY(14px) scale(.9);
  transition:opacity .55s ease,transform .55s cubic-bezier(.34,1.5,.5,1);}
#dmSpirit.show{opacity:1;transform:translateY(0) scale(1);}
#dmSpirit.hush{opacity:0!important;transform:translateY(10px) scale(.9)!important;}
#dmSpirit .sp-btn{pointer-events:auto;cursor:pointer;background:none;border:none;padding:0;width:100%;height:100%;
  -webkit-tap-highlight-color:transparent;}
#dmSpirit .dmsp-svg{display:block;width:100%;height:100%;overflow:visible;}
#dmSpirit .dmsp-glow{transform-origin:60px 68px;animation:dmspBreath 4.6s ease-in-out infinite;}
@keyframes dmspBreath{0%,100%{opacity:.72;transform:scale(.97)}50%{opacity:1;transform:scale(1.02)}}
#dmSpirit .dmsp-all{transform-origin:60px 96px;animation:dmspBob 4.2s ease-in-out infinite;}
@keyframes dmspBob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4.5px) rotate(-1.2deg)}}
#dmSpirit .dmsp-armL{transform-origin:38px 44px;animation:dmspWaveL 3.4s ease-in-out infinite;}
#dmSpirit .dmsp-armR{transform-origin:82px 44px;animation:dmspWaveR 3.4s ease-in-out infinite;}
@keyframes dmspWaveL{0%,100%{transform:rotate(0)}45%{transform:rotate(-16deg)}70%{transform:rotate(6deg)}}
@keyframes dmspWaveR{0%,100%{transform:rotate(0)}45%{transform:rotate(16deg)}70%{transform:rotate(-6deg)}}
#dmSpirit .dmsp-eyes{transform-origin:60px 36px;animation:dmspBlink 5.4s infinite;}
@keyframes dmspBlink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.08)}}
#dmSpirit .dmsp-cao{animation:dmspCao 7s ease-in-out infinite;}
@keyframes dmspCao{0%{opacity:0;transform:translateY(6px)}22%{opacity:1}70%{opacity:.6}100%{opacity:0;transform:translateY(-13px)}}
#dmSpirit.wave .dmsp-armL{animation:dmspHiL .5s ease-in-out 4;}
#dmSpirit.wave .dmsp-armR{animation:dmspHiR .5s ease-in-out 4;}
@keyframes dmspHiL{0%,100%{transform:rotate(0)}50%{transform:rotate(-34deg)}}
@keyframes dmspHiR{0%,100%{transform:rotate(0)}50%{transform:rotate(34deg)}}
#dmSpirit.hearing .dmsp-all{animation:dmspSway 2.1s ease-in-out infinite;}
@keyframes dmspSway{0%,100%{transform:translateY(0) rotate(-2.4deg)}50%{transform:translateY(-3px) rotate(2.4deg)}}
/* 咯咯笑：鼠标划过 / 手指按压 → 眯眼张嘴笑、身子乱晃、腮红加深、冒笑纹（置于 wave/hearing 后，覆盖其动画） */
#dmSpirit .dmsp-happy{opacity:0;transition:opacity .1s;}
#dmSpirit .dmsp-eyes,#dmSpirit .dmsp-mouth{transition:opacity .1s;}
#dmSpirit.giggle .dmsp-happy{opacity:1;}
#dmSpirit.giggle .dmsp-eyes,#dmSpirit.giggle .dmsp-mouth{opacity:0;}
#dmSpirit.giggle .dmsp-blush{opacity:.55;}
#dmSpirit .dmsp-haha{opacity:0;}
#dmSpirit.giggle .dmsp-haha{opacity:1;animation:dmspHaha .9s ease-in-out infinite;}
@keyframes dmspHaha{0%,100%{transform:translateY(0);opacity:.7}50%{transform:translateY(-4.5px);opacity:1}}
#dmSpirit.giggle .dmsp-all{animation:dmspGig .48s ease-in-out infinite;}
@keyframes dmspGig{
  0%,100%{transform:translateY(0) rotate(0)}
  25%{transform:translateY(-2.5px) rotate(-3.4deg)}
  55%{transform:translateY(-3.5px) rotate(3deg)}
  80%{transform:translateY(-1.5px) rotate(-1.8deg)}
}
#dmSpirit.giggle .dmsp-armL{animation:dmspGigL .48s ease-in-out infinite;}
#dmSpirit.giggle .dmsp-armR{animation:dmspGigR .48s ease-in-out infinite;}
@keyframes dmspGigL{0%,100%{transform:rotate(0)}40%{transform:rotate(-27deg)}70%{transform:rotate(-9deg)}}
@keyframes dmspGigR{0%,100%{transform:rotate(0)}40%{transform:rotate(27deg)}70%{transform:rotate(9deg)}}
/* 气泡（出在精灵上方、右缘对齐，不压右下键列） */
#dmSpBub{position:absolute;right:-4px;bottom:calc(100% + 10px);width:min(238px,calc(100vw - 104px));
  border:1px solid var(--line);border-radius:14px;background:var(--panel-2);backdrop-filter:blur(10px);
  padding:12px 14px 13px;box-shadow:0 10px 30px rgba(0,0,0,.34);
  opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s;pointer-events:none;}
#dmSpBub.show{opacity:1;transform:none;pointer-events:auto;}
#dmSpBub::after{content:'';position:absolute;right:22px;bottom:-9px;width:16px;height:16px;
  background:var(--panel-2);border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  transform:rotate(45deg);}
.dmsp-bub-h{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
.dmsp-bub-h b{font-size:15px;letter-spacing:.14em;color:var(--gold);}
.dmsp-bub-h i{font-style:normal;font-size:13px;color:var(--ink-faint);letter-spacing:.06em;}
.dmsp-bub-h button{margin-left:auto;border:none;background:none;color:var(--ink-faint);font-size:15px;
  line-height:1;padding:2px 4px;}
.dmsp-bub-t{font-size:15.5px;line-height:1.7;color:var(--ink);}
.dmsp-bub-a{margin-top:8px;font-size:13px;letter-spacing:.08em;color:var(--gold);opacity:.9;}
@media(max-width:640px){
  #dmSpirit{right:64px;bottom:calc(82px + env(safe-area-inset-bottom,0px));width:74px;height:81px;}
  #dmSpBub{right:-2px;width:min(214px,calc(100vw - 84px));}
  .dmsp-bub-t{font-size:15px;}
}
@media (prefers-reduced-motion:reduce){
  #dmSpirit .dmsp-glow,#dmSpirit .dmsp-all,#dmSpirit .dmsp-armL,#dmSpirit .dmsp-armR,
  #dmSpirit .dmsp-eyes,#dmSpirit .dmsp-cao{animation:none;}
  #dmSpirit.giggle .dmsp-all,#dmSpirit.giggle .dmsp-armL,#dmSpirit.giggle .dmsp-armR,
  #dmSpirit.giggle .dmsp-haha{animation:none;}
}
@media print{#dmSpirit{display:none!important;}}

/* ===== 微信扫码支付弹窗（2026-10-10，wxpay.js） ===== */
.wxq-card{max-width:320px;text-align:center;}
.wxq-box{width:216px;height:216px;margin:14px auto 8px;padding:10px;background:#fdfaf2;
  border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;}
.wxq-box img,.wxq-box canvas{display:block;}
.wxq-box.dim{opacity:.28;filter:grayscale(1);}          /* 过期后把二维码压暗，明确「不可再扫」 */
.wxq-cd{font-size:13.5px;color:var(--ink-dim);letter-spacing:.04em;margin:0 0 6px;}
.wxq-cd b{color:var(--gold);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.08em;}
.wxq-cd.warn b{color:#c8503f;}
.wxq-cd.dead{color:#c8503f;}
.wxq-act{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 2px;}
.wxq-act button{flex:1;min-width:0;font-size:14px;letter-spacing:.05em;text-indent:.05em;white-space:nowrap;}
/* 支付指引卡（tipCard）里的按钮：金按钮默认 18px+0.3em 字距，窄卡必换行 */
#wxqMask .auth-f button{font-size:13.5px;letter-spacing:.04em;text-indent:.04em;white-space:nowrap;min-width:0;}
.wxq-tip{font-size:14.5px;color:var(--ink-faint);line-height:1.7;margin:6px 0 2px;}
.wxq-oid{font-size:12.5px;color:var(--ink-dim);letter-spacing:.05em;margin:0 0 4px;}
@media (prefers-reduced-motion:reduce){.wxq-box{animation:none;}}

/* ---- 支付成功反馈卡（2026-10-13，wxpay.js successCard） ---- */
.wxq-ok-badge{width:62px;height:62px;margin:16px auto 4px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:32px;line-height:1;
  color:#241806;background:linear-gradient(135deg,#f3d995,#d9bc7a 60%,#c8a558);
  box-shadow:0 6px 22px rgba(217,188,122,.42);animation:wxqPop .5s cubic-bezier(.2,1.4,.4,1);}
@keyframes wxqPop{0%{transform:scale(.25);opacity:0}100%{transform:scale(1);opacity:1}}
.wxq-ok .pay-h h3{letter-spacing:.12em;text-indent:.12em;}
.wxq-ok-line{font-size:15.5px;color:var(--ink);letter-spacing:.04em;margin:10px 0 2px;line-height:1.65;}
.wxq-ok-line b{color:#b8862f;font-size:20px;font-weight:700;letter-spacing:.02em;}
.wxq-ok-line span{display:block;font-size:12.5px;color:var(--ink-dim);margin-top:2px;}
.wxq-ok-bal{font-size:13.5px;color:var(--ink-dim);letter-spacing:.03em;margin:6px 0 0;}
@media (prefers-reduced-motion:reduce){.wxq-ok-badge{animation:none;}}

/* ===== 财运流年 / 红鸾星动 时间线（四柱 · 紫微 · 七政 · 三盘 共用） ===== */
.mlt{margin:15px 0 4px;border:1px solid var(--line-soft);border-radius:12px;
  background:linear-gradient(180deg,rgba(217,188,122,.07),rgba(217,188,122,.015));
  padding:14px 16px 13px;}
.mlt-h{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-bottom:10px;}
.mlt-h b{font-size:16.5px;color:var(--gold);letter-spacing:.06em;}
.mlt-h i{font-style:normal;font-size:13.5px;color:var(--ink-faint);letter-spacing:.05em;}
.mlt-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 11px;}
.mlt-chip{display:inline-flex;align-items:baseline;gap:6px;border:1px solid var(--line);
  border-radius:99px;padding:3px 12px 4px;background:rgba(217,188,122,.10);}
.mlt-chip b{font-size:16px;color:var(--gold-l);letter-spacing:.02em;font-weight:700;}
.mlt-chip em{font-style:normal;font-size:13.5px;color:var(--ink-faint);}
.mlt-chip.strong{border-color:var(--gold);background:rgba(217,188,122,.26);
  box-shadow:inset 0 0 0 1px rgba(217,188,122,.20);}
.mlt-chip.strong b{color:var(--gold);}
.mlt-chip.strong em{color:var(--ink);}
.mlt-base{font-size:15.5px;line-height:1.9;color:var(--ink);margin:0 0 9px;}
.mlt-say{font-size:15.5px;line-height:1.95;color:var(--ink);margin:0 0 7px;}
.mlt-say b,.mlt-base b{color:var(--gold-l);}
.mlt-now{color:var(--cinnabar);}
.mlt-rows{margin:0 0 11px;}
.mlt-row{display:flex;align-items:baseline;gap:10px;padding:7px 0;
  border-bottom:1px dashed var(--line-soft);font-size:15.5px;}
.mlt-row:last-child{border-bottom:none;}
.mlt-row b{flex:0 0 auto;font-size:13.5px;letter-spacing:.12em;color:var(--gold);
  border:1px solid var(--line);border-radius:6px;padding:1px 8px;background:rgba(217,188,122,.08);}
.mlt-row i{flex:0 0 auto;font-style:normal;font-size:14px;color:var(--ink-faint);min-width:88px;}
.mlt-row span{flex:1;min-width:0;color:var(--ink);line-height:1.75;}
.mlt-note{margin:10px 0 0;padding-top:8px;border-top:1px dashed var(--line-soft);
  font-size:13.5px;line-height:1.8;color:var(--ink-faint);}
body.day .mlt{background:linear-gradient(180deg,rgba(185,146,74,.13),rgba(185,146,74,.035));}
body.day .mlt-chip{background:rgba(185,146,74,.16);}
body.day .mlt-chip.strong{background:rgba(185,146,74,.32);border-color:#b9924a;}
body.day .mlt-chip.strong b{color:#77521a;}
body.day .mlt-chip b,body.day .mlt-h b,body.day .mlt-say b,body.day .mlt-base b{color:#8a6420;}
body.day .mlt-row b{color:#8a6420;background:rgba(185,146,74,.14);}
@media(max-width:640px){
  .mlt{padding:13px 13px 12px;}
  .mlt-base,.mlt-say,.mlt-row{font-size:16px;}
  .mlt-chip b{font-size:15.5px;}
  .mlt-chip em,.mlt-h i,.mlt-note{font-size:14px;}
  .mlt-row{flex-wrap:wrap;gap:5px 9px;}
  .mlt-row i{min-width:0;}
  .mlt-row span{flex:1 1 100%;}
}

/* ============================================================
   音藥 · 免费 / 收费分层（music-pay.js，2026-10-10）
   免费：精听片段（全库 20 秒）· 每音前 2 首整曲 · 每日时辰一曲
   单音解锁 200 积分（≈¥40）永久；年卡 / 永久卡全库直通
   ============================================================ */
/* 曲单页顶部条：本音可听情况 + 解锁入口（同 cz-calbar 款） */
.mp-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  margin:14px 0 0;padding:11px 14px;border:1px dashed rgba(232,80,63,.45);border-radius:10px;
  background:rgba(232,80,63,.06);font-size:14px;line-height:1.6;color:var(--warm-tx);}
.mp-bar i{font-style:normal;font-size:13.5px;color:var(--ink-faint);}
.mp-bar .btn-line{flex:0 0 auto;padding:6px 14px;font-size:13.5px;}
.mp-bar-ok{border-color:var(--line);background:rgba(217,188,122,.06);}
/* 曲目行：徽章 + 锁定态 */
.mu-tr .mp-badge{flex:0 0 auto;margin-left:2px;font-style:normal;font-size:13px;line-height:1;
  padding:4px 10px;border-radius:99px;white-space:nowrap;text-decoration:none;
  border:1px solid var(--line-soft);color:var(--ink-faint);}
.mu-tr .mp-badge.mp-free{border-color:rgba(217,188,122,.5);background:rgba(217,188,122,.1);color:#e9cd8c;}
.mu-tr .mp-badge.mp-own{border-color:rgba(217,188,122,.28);background:rgba(217,188,122,.05);color:var(--gold-soft);}
.mu-tr .mp-badge.mp-need{border-color:rgba(232,80,63,.55);background:rgba(232,80,63,.1);color:#f8786c;}
.mu-tr.mp-locked{opacity:.78;}
.mu-tr.mp-locked .mu-tt{color:var(--ink-faint);}
.mu-tr.mp-locked .mu-pi{color:#f8786c;border-color:rgba(232,80,63,.45);font-size:15px;}
/* 解锁卡 */
.mp-veil{position:fixed;inset:0;z-index:238;display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(4,7,13,.72);backdrop-filter:blur(6px);animation:mpFade .24s ease both;}
@keyframes mpFade{from{opacity:0;}to{opacity:1;}}
.mp-card{width:auto;}
.mp-card p em{font-style:normal;color:var(--gold);}
.mp-x{margin-top:2px;padding:4px 2px;background:none;border:none;cursor:pointer;font-family:inherit;
  font-size:14px;letter-spacing:.06em;color:var(--ink-faint);text-decoration:underline;text-underline-offset:3px;}
.mp-x:hover{color:var(--ink);}
.mp-link{padding:0;background:none;border:none;cursor:pointer;font-family:inherit;font-size:13.5px;color:var(--gold);}
.mp-link:hover{text-decoration:underline;}
body.day .mp-bar{border-color:rgba(192,57,43,.42);background:rgba(192,57,43,.05);color:#5c4320;}
body.day .mp-bar-ok{border-color:rgba(122,96,40,.4);background:rgba(122,96,40,.06);}
body.day .mu-tr .mp-badge.mp-free{color:#7a6028;background:rgba(185,146,74,.14);border-color:rgba(122,96,40,.45);}
body.day .mu-tr .mp-badge.mp-own{color:#8a6420;background:rgba(185,146,74,.08);border-color:rgba(122,96,40,.3);}
body.day .mu-tr .mp-badge.mp-need{color:#c0392b;background:rgba(192,57,43,.08);border-color:rgba(192,57,43,.4);}
body.day .mu-tr.mp-locked .mu-pi{color:#c0392b;border-color:rgba(192,57,43,.4);}
body.day .mp-veil{background:rgba(247,242,230,.72);}
body.day .mp-x{color:rgba(60,48,30,.72);}
@media(max-width:640px){
  .mp-bar{font-size:14px;padding:10px 12px;}
  .mp-bar i{font-size:13.5px;}
  .mu-tr .mp-badge{font-size:13.5px;padding:4px 9px;}
}
/* 曲目行下载按钮 + 顶部条「下载本音」 */
.mu-tr .mp-dl{flex:0 0 auto;width:28px;height:28px;padding:0;border-radius:50%;cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-family:inherit;font-size:14px;line-height:1;
  background:transparent;border:1px solid var(--line);color:var(--gold);transition:.2s;}
.mu-tr .mp-dl.on:hover{background:rgba(217,188,122,.16);border-color:rgba(217,188,122,.65);}
.mu-tr .mp-dl.no{border-color:var(--line-soft);color:var(--ink-faint);opacity:.72;font-size:12px;}
.mu-tr .mp-dl.no:hover{border-color:rgba(232,80,63,.5);color:#f8786c;}
.mp-bar .mp-dlb{border-color:var(--line);color:var(--gold);}
.mp-bar .mp-dlb:hover{background:rgba(217,188,122,.12);}
body.day .mu-tr .mp-dl{color:#8a6420;border-color:rgba(122,96,40,.35);}
body.day .mu-tr .mp-dl.on:hover{background:rgba(185,146,74,.16);}
body.day .mu-tr .mp-dl.no{color:rgba(60,48,30,.55);border-color:rgba(122,96,40,.22);}
/* 横幅图上锁定行文字也要亮色（mp-locked 规则在后须再覆盖，2026-10-12）；
   整行 opacity 会把图上文字一起压灰 → art 行取消整体降透明，只弱化锁图标 */
.mu-tr.mu-art.mp-locked{opacity:1;}
.mu-tr.mu-art.mp-locked .mu-tt{color:rgba(250,245,233,.92);text-shadow:0 1px 2px rgba(0,0,0,.75),0 0 10px rgba(0,0,0,.35);}
.mu-tr.mu-art.mp-locked .mu-tag{color:#ffb7a9;text-shadow:0 1px 2px rgba(0,0,0,.7);}
.mu-tr.mu-art.mp-locked .mu-td{color:rgba(248,242,228,.7);text-shadow:0 1px 2px rgba(0,0,0,.65);}
body.day .mu-tr.mu-art.mp-locked .mu-tt{color:rgba(245,238,224,.8);}
body.day .mu-tr.mu-art.mp-locked .mu-tag{color:#ffab9d;}
body.day .mu-tr.mu-art.mp-locked .mu-td{color:rgba(245,238,224,.55);}
body.day .mu-tr.mu-art.mp-locked .mu-pi{color:#f8786c;border-color:rgba(232,80,63,.45);}
body.day .mu-tr .mp-dl.no:hover{color:#c0392b;border-color:rgba(192,57,43,.45);}
body.day .mp-bar .mp-dlb{border-color:rgba(122,96,40,.4);color:#8a6420;}

/* ---------- 移动端整体视图缩放（2026-10-12 用户定：默认视角太近，按 75% 整页缩放） ----------
   用户实测手动缩放到 75% 观感合适 → html 层 zoom .75 等效浏览器页面缩放：
   1 CSS px 显示为 0.75，布局等效宽度变宽（390→520），一屏容纳更多内容。
   媒体查询仍按真实设备宽度判定（zoom 不影响 media query），窄屏分支照常命中。
   （上一版的逐项字号收紧已撤销——双重缩小会过头） */
@media(max-width:640px){
  html{zoom:.75;}
}

/* ---------- 手机首页：圆盘放大为主角 + 文案整体收紧（2026-10-12 用户定） ----------
   配合 75% 整页缩放使用：圆盘占屏约 88%，一屏内星盘即可看清；
   底部留白同步收，避免 hero 下方空一大截。 */
@media(max-width:640px){
  .hall{padding:84px 16px 20px;padding-bottom:140px;}
  .hall-wxtop{width:min(88vw,420px);margin-bottom:14px;}
  .hall-wxtop .hx-ring{width:100%;}
  .hall h1{font-size:30px;letter-spacing:.24em;text-indent:.24em;}
  .hall .sub{font-size:14.5px;margin-top:10px;letter-spacing:.34em;text-indent:.34em;}
  .hall .motto{font-size:13.5px;margin-top:18px;letter-spacing:.18em;line-height:2;}
  .hall .hint{font-size:13px;margin-top:14px;}
  .hall .seal{font-size:13px;margin-top:10px;}
  .hall-cta{margin-top:26px;gap:12px;}
}

/* ---------- 手机首页：星盘圆盘放大到用户期望尺寸（2026-10-12：红圈≈82% 屏宽） ----------
   #panDial 是 hero 上的绝对定位覆盖层（不占文档流），放大不推挤下方内容；
   溢出由 .hall overflow:hidden 裁掉，无横向滚动；canvas 内部 2048 分辨率，放大不糊。 */
@media(max-width:640px){
  #panDial .pd-wrap{width:115vw!important;height:115vw!important;}
}

/* ===== 我的盘谱（2026-10-17） ===== */
.cb-sec{margin-bottom:18px;}
.cb-sec-h{font-size:15px;letter-spacing:.12em;color:var(--gold);opacity:.9;margin:0 0 8px;padding-left:2px;}
.cb-un-n{color:var(--gold);font-weight:600;}
.pl-item.cb-unlocked{border-color:rgba(212,175,55,.45);}
.cb-kind{font-style:normal;font-size:12.5px;padding:1px 7px;margin-left:8px;border-radius:6px;
  background:rgba(255,255,255,.06);color:var(--ink-faint);letter-spacing:.06em;vertical-align:middle;}
.cb-tag-un{font-style:normal;font-size:12.5px;margin-left:7px;padding:1px 7px;border-radius:6px;
  background:rgba(212,175,55,.16);color:var(--gold);border:1px solid rgba(212,175,55,.4);vertical-align:middle;}
.cb-tag-lock{font-style:normal;font-size:12.5px;margin-left:7px;padding:1px 7px;border-radius:6px;
  background:rgba(255,255,255,.05);color:var(--ink-faint);border:1px solid var(--line-soft);vertical-align:middle;}
/* 结果页只读条 */
.cb-ro-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;
  margin:0 0 14px;padding:11px 15px;border-radius:11px;
  background:linear-gradient(90deg,rgba(212,175,55,.14),rgba(212,175,55,.04));
  border:1px solid rgba(212,175,55,.32);font-size:15px;color:var(--ink);}
.cb-ro-bar b{color:var(--gold);font-weight:600;}
.cb-ro-ops{display:flex;gap:8px;flex-wrap:wrap;}
.cb-ro-ops .btn-line{font-size:14px;padding:6px 13px;}
@media (max-width:640px){
  .cb-ro-bar{font-size:14px;padding:10px 12px;}
  .cb-ro-ops{width:100%;}
  .cb-ro-ops .btn-line{flex:1;text-align:center;}
}
