/* 命盤／解讀頁（chart · bazi · pillars · wuxing · dayun · 7 個系統頁）的版面與 V3 模組接縫。
   只放這幾頁用得到的 selector；全站材質（.panel 白霧玻璃、.row、.sect）仍由 app.css 管。
   2026-09-26 V3：邏輯與主題照 V2，這裡只調留白、節奏、箭頭與浮現。 */

/* ── 紫微十二宮與宮位面板的 token 橋（同 wuxing-v2.css 的映射，V2 色票與字體） ── */
.rx-zw,.rx-pal{
  --ink:var(--fate-ink);--ink-2:var(--fate-ink-muted);--ink-3:var(--fate-ink-faint);
  --paper:var(--fate-paper);--paper-bright:var(--fate-paper-bright);--paper-deep:var(--fate-paper-muted);
  --jade:var(--fate-jade);--jade-soft:rgba(109,155,137,.34);--seal:var(--fate-seal);
  --line:var(--fate-line-soft);--line-strong:var(--fate-line-strong);--wash:rgba(21,23,19,.045);
  --el-metal:#8E8578;--el-wood:#3E6B4F;--el-water:#3B4A6B;--el-fire:#B7352D;--el-earth:#B8862B;
  --font-ui:var(--fate-font-body);--font-mono:var(--fate-font-latin);
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;
  --radius-md:var(--fate-radius-lg);--radius-pill:999px;
  --fs-title:16px;--fs-small:14px;--fs-caption:12.5px;--fs-micro:11.5px;
  --dur-micro:var(--fate-duration-micro);--dur-control:var(--fate-duration-control)
}

/* ── 頁面骨架：內容離邊至少 20px，段落之間留白一致 ── */
html[data-fate-system="app"] .rx-page{padding:12px 20px 48px}
.rx-head{display:flex;align-items:center;gap:12px;padding:6px 2px 18px}
.rx-head-t{margin:0;font-family:var(--font-display);font-size:18px;font-weight:400;color:var(--text-strong);text-wrap:balance}
.rx-head-s{font-size:12px;color:var(--text-muted);margin-top:3px;font-variant-numeric:tabular-nums}
.rx-card{padding:20px}
.rx-list{padding:4px 20px 20px}
.rx-pil{padding:20px}
.rx-small{font-size:12px;color:var(--text-muted);line-height:1.75;margin:14px 0 0}
.rx-text{font-size:15px;color:var(--text-body);line-height:1.85;margin:14px 0 0;text-wrap:pretty}
.rx-lead{font-size:13px;color:var(--text-muted);line-height:1.7;margin:-4px 2px 14px}
.rx-note{margin:12px 4px 0}
.rx-master{text-align:center;margin-top:18px;line-height:2}
.rx-master .lk-link,.lk-tz-cta .lk-link{margin:0}
html[data-fate-system="app"] :is(.rx-page,.wrap) .sect{margin:30px 2px 12px}

/* 付費段落：大綱每一條一節 */
.rx-body>p:first-child{font-size:15px;color:var(--text-body);line-height:1.85;margin:0;text-wrap:pretty}
.rx-sec{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft)}
.rx-sec h3{margin:0;font-size:13px;font-weight:400;color:var(--text-strong);letter-spacing:.02em}
.rx-sec p{margin:6px 0 0;font-size:15px;line-height:1.85;color:var(--text-body);text-wrap:pretty}
/* 示例／待審核的揭露是資訊，不是裝飾：用 muted（≥4.5:1），不用 faint */
.rx-demo{margin:16px 0 0;font-size:11px;color:var(--text-muted);letter-spacing:.04em}
/* 真盤時：說明下面的解讀依示範盤寫成（不是本人命盤） */
.rx-demo-for{margin:0 0 14px;padding-bottom:14px;border-bottom:1px solid var(--line-soft);font-size:12px;line-height:1.75;color:var(--text-muted);text-wrap:pretty}
.rx-free{font-size:11px;font-weight:500;color:var(--fate-jade);border:1px solid rgba(41,76,64,.3);border-radius:999px;padding:2px 9px}

/* 大運／流年列 */
html[data-fate-system="app"] .row.rx-yr{padding:14px 0;cursor:default;align-items:flex-start}
.rx-yr-main{flex:1;min-width:0}
/* 引擎盤的評語較長：等長模糊可以換行，句末的鎖頭永遠看得到（不被 .rows 裁掉） */
.rx-yr .s .lk-mask.lk-mask--text:not(#_){white-space:normal;line-height:1.9;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.rx-gz{font-size:12px;color:var(--text-body);margin-left:2px;white-space:nowrap}   /* 干支兩字不拆行 */
.rx-year{font-family:var(--font-latin);font-variant-numeric:tabular-nums}
.rx-mark{margin-left:6px}
/* app.css 的 .row .aux{11px} 權重較高，會把分數壓成小灰字：這裡以同一條鏈加權回來 */
.row .aux.rx-fit{flex:0 0 auto;font-family:var(--font-display);font-size:15px;padding-top:1px}
.rx-fit--good{color:var(--fate-jade)}.rx-fit--even{color:var(--text-muted)}.rx-fit--bad{color:var(--fate-seal)}
.row .aux.rx-score{font-family:var(--font-latin);font-size:15px;font-variant-numeric:tabular-nums;padding-top:1px}
html[data-fate-system="app"] .row.rx-yr.is-now{margin:0 -12px;padding:14px 12px;border-radius:14px}
/* 這幾列只是資料，不是按鈕：不給按壓回饋（鎖頭與主鈕另有自己的） */
html .row.rx-yr:active{transform:none;background-color:transparent}
html .row.rx-yr.is-now:active{background-color:rgba(109,155,137,.08)}
.rx-cta{margin-top:16px;padding-top:16px;border-top:1px solid var(--line-soft);flex-direction:column;align-items:flex-start;gap:10px}
.rx-cta .lk-btn{font-size:13px;padding:12px 20px;min-height:44px}
.rx-cta .lk-note{font-size:12px;line-height:1.6}
.rx-list .lk-row{margin-top:14px}
/* 最需留意那段被遮時的免費化解入口（D8：風險資訊免費） */
.rx-free-link{display:inline-flex;align-items:center;min-height:40px;margin-top:0;font-size:12px;font-weight:400;color:var(--fate-jade);text-decoration:underline;text-underline-offset:3px}
.rx-free-link:focus-visible{outline:2px solid var(--text-strong);outline-offset:2px;border-radius:6px}
#huajie{scroll-margin-top:96px}

/* 目錄列：V2 毛筆箭頭，裸放在右緣（不加圈、不加底） */
.rx-link{text-decoration:none;color:inherit}
.rx-link-main{flex:1;min-width:0}
.rx-chev{flex:0 0 auto;width:14px;height:16px;background:center/contain no-repeat url("assets/ink-chevron.svg");opacity:.9}
.rx-toc{padding:0;margin-top:14px}
.rx-toc .row{min-height:64px}

/* 系統頁頭卡 */
.rx-sys{display:flex;align-items:center;gap:14px}
.rx-sys-tile{width:58px;height:58px;border-radius:26%;display:grid;place-items:center;flex:0 0 auto}
.rx-sys-t{margin:0;font-size:17px;font-weight:500;color:var(--text-strong);line-height:inherit}
.rx-sys-s{font-size:12px;color:var(--text-muted);margin-top:4px;font-variant-numeric:tabular-nums}
.rx-mbti{margin:14px 0 0;font-size:13px;color:var(--text-muted)}
.rx-mbti b{font-family:var(--font-latin);font-size:17px;letter-spacing:.06em;color:var(--text-strong);margin-left:6px}
.rx-wide{width:100%;margin-top:16px}

/* 訪客閘門：零假資料，只有一個去 onboarding 的主鈕 */
.rx-gate{padding:28px 22px 24px;text-align:center;display:flex;flex-direction:column;align-items:center}
.rx-gate .seal{width:38px;height:38px;font-size:17px}
.rx-gate .rx-gate-t{margin:14px 0 0;font-family:var(--font-display);font-size:20px;font-weight:400;color:var(--text-strong);line-height:1.45;text-wrap:balance}
.rx-gate p{margin:10px 0 0;font-size:14px;color:var(--text-body);line-height:1.8;max-width:30ch;text-wrap:pretty}
.rx-gate-btn{margin-top:20px;min-width:220px;min-height:48px}
.rx-gate .rx-gate-note{font-size:12px;color:var(--text-muted);margin-top:10px}

/* ── 命盤頁：五行圖放進 V2 的日元卡（dy-card 玻璃 + 四角框），元件自己的紙底與回紋關掉 ── */
.rx-plate.dy-card{padding:14px 6px 10px}
.rx-plate .wx-plate{background:none;box-shadow:none;padding:8px 0 12px}
.rx-plate .wx-fret{display:none}
/* 日元的陰陽標注畫在環外：圖內縮一點，標注不貼 V2 日元卡的內框線 */
.rx-plate .wx-figure{width:auto;margin-inline:14px}
.rx-plate .wx-notes{margin-bottom:4px}
.rx-plate .wx-notes .wx-note:last-child{display:none}   /* 通用「示範文案」一句由下方 #dyNote 說清楚（示例盤或依你的生辰），不重複 */
.rx-plate .rx-dynote{margin:6px 22px 14px;text-align:left}
.rx-plate.is-gate{padding:22px 16px 8px}
.rx-plate.is-gate .rx-gate{background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:4px 6px 18px}
.rx-plate-ring{max-width:280px;margin:0 auto}
#chartToc{margin-top:22px}

/* ── 紫微十二宮（移植自 app-v3-rebuild css/chart.css，換 V2 token） ── */
.rx-zw{padding:12px}
.rx-zw .zw{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(100px,auto);gap:1px;
  border-radius:calc(var(--r-xl) - 12px);background:var(--line);box-shadow:0 0 0 1px var(--line),0 1px 2px rgba(21,23,19,.03);overflow:hidden}
.zw-cell{position:relative;display:flex;flex-direction:column;min-width:0;padding:8px 6px 7px 8px;border:0;border-radius:0;
  background:var(--paper-bright);text-align:left;font:inherit;color:var(--ink);cursor:pointer;transition:background-color var(--dur-control) ease}
.zw-cell:active{background:var(--paper-deep)}
.zw-cell:focus-visible{outline:2px solid var(--jade);outline-offset:-2px;z-index:1}
@media (hover:hover) and (pointer:fine){.zw-cell:hover{background:#fff}}
.zw-cell.is-soul{background:color-mix(in srgb,var(--jade-soft) 38%,var(--paper-bright))}
.zw-cell.is-soul :is(.zw-empty__t,.zw-borrow,.zw-age,.zw-br){color:var(--text-body)}   /* 命宮底色上 muted 只有 4.46:1（clear-glass sweep 2026-09-26） */
.zw-stars{display:flex;flex-direction:column;gap:3px;flex:1 1 auto}
.zw-star{display:flex;align-items:center;gap:1px;white-space:nowrap;line-height:1.2}
.zw-star b{font-family:var(--font-display);font-size:15px;font-weight:400;letter-spacing:.02em}
.zw-bri{font-style:normal;font-size:11px;color:var(--ink-2);margin-left:1px;align-self:flex-end;line-height:1.5}
.zw-minor{display:flex;flex-direction:column;gap:2px;margin-top:2px}
.zw-minor .zw-star b{font-family:var(--font-ui);font-size:12px;font-weight:400;color:var(--ink-2)}
.zw-hua{display:inline-grid;place-items:center;width:16px;height:16px;margin-left:3px;border-radius:4px;font-family:var(--font-ui);
  font-style:normal;font-size:11px;font-weight:400;line-height:1;color:var(--paper-bright);background:var(--ink)}
.zw-hua[data-hua="祿"]{background:var(--el-wood)}
.zw-hua[data-hua="權"]{background:color-mix(in srgb,var(--el-fire) 86%,var(--ink))}
.zw-hua[data-hua="科"]{background:var(--el-water)}
.zw-empty{display:flex;flex-direction:column;gap:2px}
.zw-empty__t{font-size:11.5px;color:var(--ink-2)}
.zw-borrow{font-family:var(--font-display);font-size:12.5px;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:0 3px}
.zw-meta{display:flex;align-items:center;gap:3px;margin-top:6px}
.zw-age{font-family:var(--font-latin);font-size:11px;line-height:1.5;color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}
.zw-cell.is-dec .zw-age{padding:0 5px;border-radius:999px;background:var(--ink);color:var(--paper-bright)}
.zw-foot{display:flex;flex-wrap:wrap;align-items:center;gap:2px 3px;margin-top:2px}
.zw-name{font-size:12.5px;font-weight:400;letter-spacing:.04em;line-height:1.5}
.zw-cell.is-soul .zw-name{padding:0 6px;border-radius:999px;background:var(--jade);color:var(--paper-bright)}
.zw-body{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;box-shadow:inset 0 0 0 1.3px var(--jade);
  font-family:var(--font-display);font-style:normal;font-size:11px;font-weight:400;color:var(--jade)}
.zw-br{margin-left:auto;font-family:var(--font-display);font-size:13px;color:var(--ink-2)}
.zw-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:14px 10px;text-align:center;
  background:radial-gradient(70% 60% at 50% 42%,rgba(41,76,64,.07),transparent 72%),var(--paper)}
.zw-est{margin-bottom:4px;padding:1px 8px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line-strong);font-size:11px;font-weight:500;color:var(--ink-2)}
.zw-c-name{margin:0;font-family:var(--font-display);font-size:19px;font-weight:400;letter-spacing:.06em;line-height:1.3}
.zw-c-sub{margin:0;font-size:12.5px;color:var(--ink-2)}
.zw-c-dl{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0 10px}
.zw-c-dl dt{font-size:10.5px;letter-spacing:.06em;color:var(--ink-2)}
.zw-c-dl dd{margin:0;font-family:var(--font-display);font-size:17px;font-weight:400}
.zw-c-tap{margin:0;font-size:11px;color:var(--ink-2)}
.zw-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin:14px 8px 6px;font-size:12px;color:var(--ink-2)}
.zw-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.zw-legend .zw-hua{margin-left:0}
.zw-lg-soul,.zw-lg-dec{width:18px;height:11px;border-radius:999px;background:var(--jade)}
.zw-lg-dec{background:var(--ink)}
/* 宮位面板 */
.rx-pal .pal__meaning{margin:14px 0 0;font-family:var(--font-display);font-size:17px;line-height:1.65;color:var(--text-strong)}
.rx-pal .pal__note{margin:10px 0 0;padding-left:12px;font-size:14px;line-height:1.7;color:var(--text-body);box-shadow:inset 2px 0 0 var(--jade-soft)}
.rx-pal .pal__h{margin:22px 0 0;font-size:12px;font-weight:500;letter-spacing:.12em;color:var(--text-muted)}
.rx-pal .pal__stars{list-style:none;padding:0;margin:4px 0 0}
.rx-pal .pal__star{padding:12px 0}
.rx-pal .pal__star+.pal__star{box-shadow:inset 0 1px 0 var(--line)}
.rx-pal .pal__star-top{display:flex;align-items:center;gap:8px}
.rx-pal .pal__sname{font-family:var(--font-display);font-size:22px;font-weight:400;letter-spacing:.06em;line-height:1.2}
.rx-pal .pal__star-top .zw-hua{width:20px;height:20px;font-size:12px;border-radius:5px}
.rx-pal .pal__sdesc{margin:6px 0 0;font-size:15px;line-height:1.7;color:var(--text-body)}
.rx-pal .pal__meta{margin:4px 0 0;font-size:13px;line-height:1.6;color:var(--text-muted)}
.rx-pal .pal__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.rx-pal .pal__chip{display:inline-flex;align-items:center;padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.62);border:1px solid var(--line);font-size:13px}
.rx-pal .pal__chip .zw-hua{margin-left:4px}
.rx-pal .pal__decade{margin:20px 0 0;font-size:14px;color:var(--text-muted)}
.rx-pal .pal__decade.is-now{color:var(--jade);font-weight:500}

@media (max-width:359px){
  /* 小螢幕只收頁邊；卡片內距維持 20px（L：內容離卡邊 ≥20px），四柱表改縮 1px 字 */
  html[data-fate-system="app"] .rx-page{padding-inline:16px}
  .rx-pil .pil-gz{font-size:22.4px}
  .zw-cell{padding:6px 4px 5px 6px}.zw-star b{font-size:13.5px}
  .zw-hua{width:15px;height:15px;margin-left:2px;font-size:11px}.zw-c-dl{gap:8px}
  .zw-age{font-size:10px}.zw-meta{gap:2px}   /* 大限歲數不在 11px 下限的範圍內：320 寬「116-125 卯」要放得進 65px 的宮格 */
}

/* ── 禪意浮現：內容 560ms 柔和 ease-out，只動 opacity/transform；減少動態時不動 ── */
@media (prefers-reduced-motion:no-preference){
  .rx-head,.rx-card,.rx-list,.rx-gate,.rx-plate,.rx-toc,#chartToc,.rx-zw,.reading-intro,.reading-fold{animation:rx-in var(--zen-reveal,560ms) var(--zen-ease,cubic-bezier(.22,.61,.36,1)) backwards}
  .rx-card,.rx-list,.rx-toc,#chartToc{animation-delay:70ms}
  .rx-zw .zw-cell{animation:rx-in var(--zen-reveal,560ms) var(--zen-ease,cubic-bezier(.22,.61,.36,1)) calc(120ms + var(--o) * 40ms) backwards}
  @keyframes rx-in{from{opacity:0;transform:translateY(8px)}}
}
