/* Daily Guidance · GPT 视觉重设计版（2026-09-08） */
:root{
  --page:1200px;
  --paper:#0d0a07;
  --paper2:#15100a;
  --paper3:#1b140c;
  --gold:#cda65a;
  --gold2:#efd58b;
  --ivory:#eee6d6;
  --muted:#b9ab92;
  --dim:#817664;
  --line:rgba(205,166,90,.24);
  --line-soft:rgba(205,166,90,.12);
  --green:#9bc988;
  --red:#dc9578;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#080706;color:var(--ivory)}
body{
  /* 中文改用 GPT 重排版那一套（Microsoft JhengHei／微軟正黑體，閱讀性優先）。
     「Times New Roman」刻意留在最前面：只換中文字面，數字與拉丁字維持原樣。
     想連拉丁字一起換掉，把開頭那段 "Times New Roman", 刪掉即可。 */
  font-family:"Times New Roman","Microsoft JhengHei","PingFang TC",system-ui,sans-serif;
  background:
    radial-gradient(circle at 50% -8%,rgba(112,76,24,.17),transparent 28%),
    radial-gradient(circle at 12% 34%,rgba(74,49,20,.09),transparent 24%),
    linear-gradient(#0a0907,#080706);
}
.wrap{width:var(--page);margin:0 auto;padding:28px 34px 56px}
.stage{
  position:relative;
  width:100%;
  margin:0;
  padding:38px 36px 34px;
  background:
    radial-gradient(circle at 50% 0%,rgba(205,166,90,.04),transparent 28%),
    linear-gradient(180deg,rgba(23,17,10,.98),rgba(13,10,7,.99));
  border:1px solid var(--line);
  box-shadow:0 28px 86px rgba(0,0,0,.42);
}
.stage::before{
  content:"";
  position:absolute;
  inset:8px;
  border:1px solid rgba(205,166,90,.08);
  pointer-events:none;
}
.stage::after{display:none}
.inner{position:relative;z-index:2;width:100%;margin:0 auto}

.today-head{
  position:relative;
  min-height:276px;
  padding:16px 360px 28px 16px;
  border-bottom:1px solid var(--line);
  text-align:left;
}
.eyebrow{
  font-size:12px;
  letter-spacing:.32em;
  color:var(--gold);
  text-transform:uppercase;
  text-align:left;
}
h1.site{
  margin:12px 0 0;
  font-size:46px;
  line-height:1;
  font-weight:500;
  letter-spacing:.13em;
  color:var(--gold2);
  text-align:left;
  white-space:nowrap;
}
.subtitle{
  margin-top:10px;
  color:var(--muted);
  font-size:14px;
  letter-spacing:.08em;
  line-height:1.6;
  text-align:left;
}
.badge{
  display:inline-block;
  margin-left:10px;
  padding:2px 9px;
  border:1px solid rgba(205,166,90,.35);
  color:var(--gold2);
  font-size:11px;
  letter-spacing:.14em;
  vertical-align:middle;
}
.today-date{
  margin-top:18px;
  color:var(--dim);
  font-size:13px;
  letter-spacing:.15em;
}
.today-gz{display:none}
.level-line{
  position:absolute;
  right:28px;
  top:38px;
  width:280px;
  height:210px;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
}
.level-line::before,
.level-line::after{
  content:"";
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(205,166,90,.10);
}
.level-line::before{width:228px;height:228px}
.level-line::after{width:184px;height:184px}
.score-ring{
  --p:52;
  width:144px;
  height:144px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  background:conic-gradient(var(--gold2) calc(var(--p)*1%),rgba(255,255,255,.055) 0);
  position:relative;
  padding:9px;
  z-index:2;
}
.score-ring::before{
  content:"";
  position:absolute;
  inset:9px;
  border-radius:50%;
  background:#0f0c08;
  border:1px solid rgba(205,166,90,.14);
}
.score-ring b,.score-ring span{position:relative;z-index:2}
.score-ring b{font-size:36px;color:var(--gold2);font-weight:500;line-height:1}
.score-ring span{margin-top:5px;font-size:11px;color:var(--dim);letter-spacing:.14em}
.level-word{
  position:absolute;
  right:-20px;
  top:86px;
  width:90px;
  font-size:27px;
  letter-spacing:.18em;
  color:var(--gold2);
  white-space:nowrap;
}
.level-note{display:none}

/* ---- 粒子流头部（DailyFlow 引擎接入） ---- */
.report-title{margin:0 0 24px;font-size:46px;line-height:1.15;font-weight:500;letter-spacing:.12em;color:var(--gold2)}
.today-head.head-flow{
  display:grid;
  grid-template-columns:minmax(300px,1fr) 700px;
  gap:18px 24px;
  align-items:flex-start;
  min-height:300px;
  padding:0 14px 0 28px;
}
.head-flow .flow-words{min-width:0}
.head-flow .flow-words{margin-top:10px}
.head-flow h1.site{font-size:34px;margin-top:10px;letter-spacing:.08em}
.head-flow.lang-en h1.site{font-size:28px;letter-spacing:.06em}
.fs-date-big{margin-top:10px;font-size:16px;color:var(--gold2);font-weight:500;letter-spacing:.04em;line-height:1.5}
.head-flow .subtitle{margin-top:10px;font-size:14px;line-height:1.7}
.ring-block{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:18px}
.mini-ring{--arcS:0deg;--arcE:0deg;width:104px;height:104px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;flex-direction:column;background:conic-gradient(from -90deg,var(--gold2) var(--arcS) var(--arcE),rgba(255,255,255,.055) 0);position:relative;padding:8px}
.mini-ring::before{content:"";position:absolute;inset:8px;border-radius:50%;background:#0f0c08;border:1px solid rgba(205,166,90,.14)}
.mini-ring b,.mini-ring span{position:relative;z-index:2}
.mini-ring b{font-size:24px;color:var(--gold2);font-weight:500;line-height:1;margin-top:12px;z-index:3}
.mini-ring span{margin-top:5px;font-size:10px;color:var(--dim);letter-spacing:.1em}
.mini-ring i.wind-nd{position:absolute;left:50%;bottom:50%;width:2px;height:36px;margin-left:-1px;transform-origin:50% 100%;transform:rotate(var(--winddeg,0deg));background:linear-gradient(#f4df9b,#b28a3c);box-shadow:0 0 4px rgba(0,0,0,.45);border-radius:2px;z-index:1;pointer-events:none}
.mini-ring::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;transform:translate(-50%,-50%);border-radius:50%;background:#efd58b;border:1px solid #8f6f2f;z-index:2}
.ring-side{display:flex;flex-direction:column;gap:7px;align-items:flex-start;min-width:0}
.ring-status{font-size:28px;color:var(--gold2);letter-spacing:.14em;white-space:nowrap}
.wind-tag{font-size:13px;color:var(--gold);letter-spacing:.08em;white-space:nowrap}
.wind-slot{width:150px;flex:none;display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--dim)}
/* 氣象小人：圖本身帶暗角（中心亮、四角暗），這裡再用徑向遮罩把四角羽化，
   讓它溶進 #080706 的頁面底色，而不是露出一塊方形。想改回硬邊方框：
   把 mask 兩行刪掉，加上 border:1px solid rgba(205,166,90,.30) 即可。 */
.qi-img{display:block;width:150px;height:150px;object-fit:cover;
        -webkit-mask-image:radial-gradient(circle farthest-corner at 50% 50%,#000 74%,rgba(0,0,0,.55) 90%,rgba(0,0,0,0) 100%);
        mask-image:radial-gradient(circle farthest-corner at 50% 50%,#000 74%,rgba(0,0,0,.55) 90%,rgba(0,0,0,0) 100%);
        filter:drop-shadow(0 6px 14px rgba(0,0,0,.55))}
.wind-slot .slot-no{font-size:11px;color:var(--dim);letter-spacing:.12em}
.slot-word{width:150px;text-align:center;font-size:20px;color:var(--gold2);letter-spacing:.12em;white-space:nowrap}
.head-flow .flow-canvas{min-width:0;align-self:center}
#flowCanvas{width:100%;height:auto;display:block}
.flow-status{margin-top:18px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.flow-status .fs-word{font-size:36px;color:var(--gold2);letter-spacing:.12em;line-height:1}
.flow-status .fs-axis{font-size:12px;color:var(--dim);letter-spacing:.1em}
.fs-line{margin-top:10px;color:var(--ivory);font-size:13px;line-height:1.1;opacity:.92}
.fs-basis{margin-top:12px;color:var(--dim);font-size:11px;line-height:1.6;letter-spacing:.05em}

/* 粒子区图例层（覆盖在画布上，不参与粒子渲染） */
.flow-canvas{position:relative}
.flow-canvas .fc-stage{position:relative}
.flow-canvas .fc-tag-main{position:absolute;left:12px;top:10px;z-index:2;pointer-events:none;font-size:15px;color:var(--gold);letter-spacing:.12em;background:rgba(10,8,6,.42);padding:3px 8px;border:1px solid rgba(205,166,90,.18);white-space:nowrap}
.flow-canvas .fc-main-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin:0 4px 0 2px;vertical-align:middle}
/* 粒子圖下方的說明條：不定位、置中、寬 550、可選取複製。
   底色改成左右兩端漸層透明的黑帶（原本是實心方塊 + 金邊，已移除邊框）。
   margin-top 用百分比（負值）＝ 依容器寬度換算，會跟著畫布等比縮放：
   -4% 約等於 -28px（畫布 700 寬時），用來吃掉畫布底部 300→272 那段空白，
   讓文字貼在目前「南」字的下面。
   ⚠ 這是配合「現在這版 700×300 畫布」的數值；日後若把東南西北與命宮
     換成位圖，只要改這一個 -4% 即可重新貼齊，程式不依賴任何字的座標。 */
.flow-canvas .fc-sentence{position:relative;z-index:3;margin:-4% auto 0;width:100%;max-width:650px;font-size:13px;line-height:1.1;color:var(--ivory);background:linear-gradient(90deg,rgba(10,8,6,0) 0%,rgba(10,8,6,.62) 8%,rgba(10,8,6,.62) 92%,rgba(10,8,6,0) 100%);padding:5px 44px;letter-spacing:.02em;text-align:center;user-select:text;cursor:text}
.flow-canvas .fc-tag-disk{position:absolute;left:65.7%;top:52%;transform:translate(-50%,-50%);z-index:2;pointer-events:none;font-size:11px;color:rgba(205,166,90,.55);letter-spacing:.18em;white-space:nowrap}
.flow-canvas .fc-legend{position:absolute;left:8px;top:0;z-index:2;pointer-events:none}
/* 五色圖例上方的小標題：第一行固定是漢字「五行」，第二行是該語說法（.loc） */
.flow-canvas .fc-legend-title{position:absolute;left:0;top:32px;line-height:1.5;letter-spacing:.16em;color:rgba(205,166,90,.62);font-size:10px;white-space:nowrap;text-shadow:0 0 6px rgba(0,0,0,.85)}
.flow-canvas .fc-legend-title .loc{display:block;font-size:9px;letter-spacing:.12em;color:rgba(205,166,90,.46)}
/* 粒子圖頂部中央的圖名 */
.flow-canvas .fc-title{position:absolute;left:50%;top:10px;transform:translateX(-50%);z-index:2;pointer-events:none;font-size:15.5px;letter-spacing:.2em;color:rgba(205,166,90,.82);white-space:nowrap;text-shadow:0 0 6px rgba(0,0,0,.9)}
.flow-canvas .fc-chip{position:absolute;left:0;display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:10px;text-shadow:0 0 4px rgba(0,0,0,.85)}
.flow-canvas .fc-chip i{width:8px;height:8px;border-radius:50%;display:inline-block}
.flow-canvas .fc-chip.on{color:var(--gold2)}

.main-copy{
  margin:30px 0 0;
  padding:4px 0 4px 20px;
  border-left:2px solid var(--gold);
}
.mc-label{
  font-size:11px;
  letter-spacing:.27em;
  color:var(--gold);
  text-transform:uppercase;
}
.mc-title{
  margin-top:8px;
  color:var(--gold2);
  font-size:24px;
  line-height:1.4;
  letter-spacing:.035em;
}
.mc-oneliner{
  margin-top:10px;
  color:var(--ivory);
  font-size:16px;
  line-height:1.72;
  font-style:normal;
}
.mc-body{
  margin-top:7px;
  max-width:820px;
  color:var(--muted);
  font-size:14px;
  line-height:1.78;
}
.theme-summary{max-width:none}

.section-title{
  margin:30px 0 13px;
  color:var(--gold);
  font-size:11px;
  letter-spacing:.27em;
  text-transform:uppercase;
}
.section-title::after{
  content:"";
  display:inline-block;
  width:72px;
  height:1px;
  margin-left:13px;
  vertical-align:middle;
  background:rgba(205,166,90,.34);
}

.grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin:0;
}
.domain{
  position:relative;
  min-height:160px;
  padding:16px;
  overflow:hidden;
  border:1px solid var(--line-soft);
  background:rgba(0,0,0,.15);
}
.domain::before{
  content:"";
  position:absolute;
  left:0;top:0;
  width:2px;height:100%;
  background:linear-gradient(var(--gold),transparent 72%);
  opacity:.5;
}
.d-head{display:flex;justify-content:space-between;align-items:baseline}
.d-name{font-size:14px;color:var(--gold2);letter-spacing:.08em}
.d-num{font-size:12px;color:var(--muted)}
.d-num em{margin-left:5px;color:var(--gold2);font-size:17px;font-style:normal}
.domain .bar{
  height:4px;
  margin:13px 0 12px;
  border-radius:4px;
  overflow:hidden;
  background:rgba(255,255,255,.06);
}
.domain .bar i{display:block;height:100%;border-radius:4px}
.domain .note{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.72;
}

.pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:18px;
}
.do-dont{
  padding:19px 21px;
  border:1px solid var(--line-soft);
  background:rgba(0,0,0,.12);
}
.do-dont h4{
  margin:0 0 12px;
  font-size:14px;
  font-weight:500;
  letter-spacing:.16em;
}
.do h4{color:var(--green)}
.dont h4{color:var(--red)}
.do-dont ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 20px;
}
.do-dont li{
  position:relative;
  padding-left:17px;
  color:var(--ivory);
  font-size:13px;
  line-height:1.6;
}
.do li::before{content:"✓";position:absolute;left:0;color:var(--green)}
.dont li::before{content:"·";position:absolute;left:5px;color:var(--red)}

.dir-card{
  position:relative;
  min-height:190px;
  padding:24px 330px 24px 26px;
  border:1px solid var(--line);
  background:
    radial-gradient(circle at 86% 50%,rgba(205,166,90,.08),transparent 33%),
    linear-gradient(135deg,rgba(205,166,90,.07),rgba(0,0,0,.10));
}
.dir-big{
  color:var(--gold2);
  font-size:34px;
  letter-spacing:.09em;
}
.dir-big .tri{margin-left:12px;font-size:15px;color:var(--gold)}
.dir-use{
  margin-top:10px;
  max-width:720px;
  color:var(--ivory);
  font-size:14px;
  line-height:1.8;
}
.dir-sub{
  margin-top:11px;
  color:var(--dim);
  font-size:12px;
}
.dir-card::after{
  content:"☷  ☰  ☵  ☲";
  position:absolute;
  right:28px;
  top:72px;
  color:rgba(205,166,90,.13);
  font-size:34px;
  letter-spacing:.22em;
}

.meta-card{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:18px;
}
.mc-block{
  min-width:0;
  padding:14px 4px 0;
  border:none;
  border-top:1px solid var(--line);
  background:none;
}
.mc-tag{font-size:10px;letter-spacing:.20em;color:var(--dim)}
.mc-val{margin-top:5px;font-size:19px;color:var(--gold2)}
.mc-sub{margin-top:4px;font-size:12px;color:var(--muted);line-height:1.55}

.next-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.next-card{
  min-height:116px;
  padding:16px;
  border:1px solid var(--line-soft);
  background:rgba(0,0,0,.14);
  display:flex;
  flex-direction:column;
  gap:6px;
}
.next-date{font-size:11px;color:var(--dim);letter-spacing:.08em}
.next-word{margin-top:2px;font-size:21px;color:var(--gold2)}
.next-theme{font-size:12px;color:var(--muted);line-height:1.5}
.next-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px dashed rgba(205,166,90,.46);
  color:var(--gold2);
  font-size:14px;
  letter-spacing:.08em;
  cursor:pointer;
  background:rgba(205,166,90,.035);
}
.next-cta:hover{background:rgba(205,166,90,.08)}

.why{
  margin-top:28px;
  border-top:1px solid var(--line-soft);
  border-bottom:1px solid var(--line-soft);
}
.why summary{
  padding:14px 0;
  cursor:pointer;
  list-style:none;
  color:var(--gold);
  font-size:12px;
  letter-spacing:.15em;
}
.why summary::before{content:"▸ ";margin-right:5px}
.why[open] summary::before{content:"▾ "}
.why-body{
  padding:0 0 18px;
  color:var(--dim);
  font-size:12px;
  line-height:1.9;
  border:none;
}
.why-intro{margin-bottom:8px;color:var(--muted)}
.why-k{display:inline-block;min-width:88px;margin-right:8px;color:var(--gold)}
.why-note{margin-top:6px;color:var(--muted)}

.foot{
  margin-top:22px;
  text-align:center;
  color:#655c4e;
  font-size:11px;
  line-height:1.7;
  letter-spacing:.05em;
}

@media(max-width:1220px){
  .wrap{width:100%;padding:18px}
  .grid{grid-template-columns:1fr 1fr}
}

/* ---- 开发调试条（正式版移除） ---- */
.demo-bar{width:var(--page);margin:0 auto 18px;padding:10px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:rgba(24,18,11,.92);border:1px solid rgba(205,166,90,.25);position:relative;z-index:5}
.demo-bar label{font-size:12px;color:var(--muted);letter-spacing:.08em;white-space:nowrap}
.demo-bar select,.demo-bar input{border:1px solid rgba(205,166,90,.35);background:#171008;color:var(--ivory);font:inherit;padding:3px 8px;height:29px;font-size:13px}
.demo-bar button{border:1px solid rgba(205,166,90,.4);background:rgba(205,166,90,.10);color:var(--gold2);cursor:pointer;font:inherit;padding:4px 12px;font-size:13px;letter-spacing:.05em}
.demo-bar button.active{background:rgba(205,166,90,.8);color:#171006}
.demo-bar .spacer{flex:1}
/* 正式版（網址不加 ?dev=1）只留右上角語言切換；示範控制項整組隱藏。 */
.demo-bar .dev-only{display:none}
body.dev .demo-bar .dev-group{display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap}
body.dev .demo-bar .src-badge.dev-only{display:inline-block}
body:not(.dev) .demo-bar{background:transparent;border-color:transparent;padding:4px 0;margin-bottom:8px}
.src-badge{font-size:11px;letter-spacing:.14em;padding:2px 8px;border-radius:2px}
.src-badge.demo{border:1px solid rgba(205,166,90,.4);color:var(--gold2);background:rgba(205,166,90,.07)}
.src-badge.real{border:1px solid #7fb069;color:#a8cf8d;background:rgba(127,176,105,.08)}

/* ---- 中式生活指南 · 今日八事（茶/食/动/听/静/衣/境/悟） ---- */
.lg-sub{margin:-6px 0 12px;font-size:12px;color:var(--dim);letter-spacing:.06em}
.lg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.lg-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:260px;
  padding:18px 20px;
  border:1px solid var(--line-soft);
  background:rgba(0,0,0,.14);
}
.lg-card:hover{border-color:var(--line)}
.lg-tag{font-size:10px;letter-spacing:.2em;color:var(--dim);margin-bottom:6px}
.lg-title{margin:0 0 8px;font-size:19px;color:var(--gold2);font-weight:500;line-height:1.5}
.lg-quote{font-size:23px;line-height:1.7;color:var(--gold2);letter-spacing:.03em;margin:0 0 8px}
.lg-quote-src{font-size:15px;line-height:1.6;color:var(--dim,#9a8c72);letter-spacing:.06em;margin:-2px 0 10px;opacity:.72}
.lg-chips{margin-bottom:4px}
.lg-chip{display:inline-block;margin:0 6px 4px 0;padding:1px 7px;border:1px solid var(--line);border-radius:3px;font-size:10.5px;color:var(--gold);letter-spacing:.04em}
.lg-chip.lg-good{border-color:rgba(127,176,105,.5);color:#7fb069}
.lg-chip.lg-warn{border-color:rgba(220,149,120,.5);color:#dc9578}
.lg-chip.lg-gold{border-color:rgba(205,166,90,.55);color:var(--gold2);background:rgba(205,166,90,.08)}
.lg-chip.lg-src{color:#9fc39a;border-color:rgba(127,176,105,.45)}
.lg-chip.lg-dir{color:#d9a1c8;border-color:rgba(217,161,200,.4)}
.lg-chip.lg-tg{color:#8fd0c0;border-color:rgba(143,208,192,.45)}
.lg-chip.lg-el{color:#e6c98a;border-color:rgba(230,201,138,.45)}
.lg-chip.lg-gs{color:#9ec6e8;border-color:rgba(158,198,232,.42)}
.lg-p{margin:5px 0;font-size:13px;line-height:1.75;color:var(--ivory)}
.lg-k{display:inline-block;min-width:52px;margin-right:6px;color:var(--dim);font-size:11px;letter-spacing:.06em}
.lg-eff{font-style:normal;color:var(--muted)}
.lg-why{margin:7px 0;padding:7px 10px;font-size:11.5px;line-height:1.7;color:var(--muted);background:rgba(127,176,105,.06);border-left:2px solid rgba(127,176,105,.4)}
.lg-hint{margin:6px 0 0;font-size:11px;line-height:1.7;color:var(--dim)}
.lg-search{display:inline-block;margin-top:4px;padding:2px 8px;border:1px solid var(--line);border-radius:4px;font-size:11px;color:var(--gold2);background:rgba(205,166,90,.08);align-self:flex-start}
.lg-today{padding-left:10px;border-left:2px solid rgba(205,166,90,.45)}
.lg-alt{margin-top:auto;padding-top:8px;font-size:11.5px;color:var(--dim)}
.lg-alt b{color:var(--muted);font-weight:500}
.lg-swap{margin-top:auto;align-self:flex-start;padding:6px 12px;border:1px solid rgba(205,166,90,.4);border-radius:3px;background:rgba(205,166,90,.08);color:var(--gold2);font:inherit;font-size:12px;letter-spacing:.03em;cursor:pointer;text-align:left}
.lg-swap b{font-weight:500}
.lg-swap:hover{background:rgba(205,166,90,.18);border-color:var(--gold)}
.lg-swap:active{background:rgba(205,166,90,.28)}
@media(max-width:900px){.lg-grid{grid-template-columns:1fr}}

/* ================= 可读性排版重排（2026-09-10）=================
   口径：中文字面改用 GPT 重排版那一套（Microsoft JhengHei；2026-09-12 由楷体换过来）；
   除页面主标题、今日主题标题、方位大字外，全部上调字号；取消所有斜体。
   标签类（chip / tag）保持小号，但提到可读下限。 */
html,body{
  font-family:"Times New Roman","Microsoft JhengHei","PingFang TC",system-ui,sans-serif;
  font-size:16px;
}
input,select,button,textarea{font-family:inherit}

/* —— 头部 —— */
.report-title{font-size:46px}
h1.site{font-size:46px}
.head-flow h1.site{font-size:36px}
.head-flow.lang-en h1.site{font-size:30px}
.eyebrow{font-size:13px}
.badge{font-size:12.5px}
.today-date{font-size:14px}
.subtitle,.head-flow .subtitle{font-size:15px;line-height:1.75}
.fs-date-big{font-size:19px}
.fs-line{font-size:16px;line-height:1.1}
.fs-basis{font-size:13px;line-height:1.75}
.score-ring b{font-size:38px}
.score-ring span{font-size:13px}
.level-word{font-size:29px}
.mini-ring b{font-size:26px}
.mini-ring span{font-size:12px}
.ring-status{font-size:30px}
.wind-tag{font-size:14.5px}
.wind-slot .slot-no{font-size:12px}
.slot-word{font-size:22px}
.flow-status .fs-word{font-size:38px}
.flow-status .fs-axis{font-size:13.5px}
.flow-canvas .fc-tag-main{font-size:16px}
.flow-canvas .fc-sentence{font-size:13px;line-height:1.1}
.flow-canvas .fc-tag-disk{font-size:12px}
.flow-canvas .fc-chip{font-size:12px}

/* —— 今日主题 —— */
.mc-label{font-size:13px;letter-spacing:.2em}
.mc-title{font-size:26px}
.mc-oneliner{font-size:17.5px;line-height:1.8;font-style:normal}
.mc-body{font-size:15.5px;line-height:1.85}

/* —— 区块标题 —— */
.section-title{font-size:18px;letter-spacing:.12em;margin:34px 0 15px}

/* —— 四个领域 —— */
.domain .d-name{font-size:17px}
.domain .d-num{font-size:14px}
.domain .d-num em{font-size:20px}
.domain .note{font-size:15.5px;line-height:1.85}

/* —— 今日宜 / 今日慎 —— */
.do-dont h4{font-size:17px}
.do-dont li{font-size:15.5px;line-height:1.85}

/* —— 今日有利方位 —— */
.dir-big{font-size:34px}
.dir-big .tri{font-size:16px}
.dir-use{font-size:16px;line-height:1.9}
.dir-sub{font-size:13.5px}

/* —— 今日主气 / 五行关系 / 你的本命 —— */
.mc-tag{font-size:12.5px;letter-spacing:.16em}
.mc-val{font-size:23px}
.mc-sub{font-size:14px;line-height:1.7}

/* —— 未来三天 —— */
.next-date{font-size:13px}
.next-word{font-size:24px}
.next-theme{font-size:14px;line-height:1.6}
.next-cta{font-size:15px}

/* —— 查看今日依据 —— */
.why summary{font-size:15px}
.why-body{font-size:14.5px;line-height:1.9}
.why-intro{font-size:14px}
.why-note{font-size:13px}

/* —— 中式生活指南 · 今日八事 —— */
.lg-sub{font-size:14px;line-height:1.7}
.lg-tag{font-size:13px;letter-spacing:.08em;color:var(--gold);margin-bottom:8px}
.lg-title{font-size:25px}
.lg-quote{font-size:27px}
.lg-chip{font-size:12px;padding:2px 8px}
.lg-p{font-size:15.5px;line-height:1.85}
.lg-k{font-size:13px;min-width:58px}
.lg-eff{font-size:15.5px;font-style:normal;color:var(--muted)}
.lg-why{font-size:14.5px;line-height:1.8;padding:9px 12px}
.lg-hint{font-size:13px;line-height:1.75}
.lg-search{font-size:12.5px}
.lg-today{font-size:15.5px}
.lg-alt{font-size:13.5px}
.lg-swap{font-size:14px;padding:8px 14px}

/* —— 页脚与调试条 —— */
.foot{font-size:12.5px}
.demo-bar label,.demo-bar select,.demo-bar input,.demo-bar button{font-size:13.5px}
.src-badge{font-size:12px}

/* ---- 未来 7 天趋势图 ---- */
.nx-wrap{margin-top:4px;padding:12px 8px 6px;border:1px solid var(--line-soft);background:rgba(0,0,0,.14)}
.nx-svg{display:block;width:100%;height:auto}
.nx-band{fill:var(--dim);font-size:13px;letter-spacing:.06em}
.nx-word{font-size:15px;font-weight:500}
.nx-ss{font-size:13.5px;fill:var(--muted)}
.nx-date{font-size:13.5px;fill:var(--gold)}
.nx-kw{font-size:12.5px;fill:var(--dim)}
.nx-node{cursor:pointer}
.nx-node circle{transition:stroke .15s}
.nx-node:hover circle,.nx-node:focus circle{stroke:var(--gold2);stroke-width:3}
.nx-node:hover .nx-word{text-decoration:underline}
.nx-hint{margin-top:10px;font-size:13px;color:var(--dim)}
.nx-tabs{display:flex;gap:8px;margin:0 0 10px}
.nx-tab{padding:6px 16px;border:1px solid rgba(205,166,90,.35);background:transparent;color:var(--muted);font:inherit;font-size:13.5px;letter-spacing:.05em;cursor:pointer;border-radius:3px}
.nx-tab:hover{border-color:var(--gold);color:var(--gold2)}
.nx-tab.active{background:rgba(205,166,90,.16);border-color:var(--gold);color:var(--gold2)}
.nx-loading{padding:28px;text-align:center;border:1px solid var(--line-soft);background:rgba(0,0,0,.14);color:var(--dim);font-size:14px}
.nx-summary{margin-top:8px;font-size:13.5px;color:var(--muted);line-height:1.8}
.nx-today{font-size:12.5px;fill:var(--gold2)}
.nx-dy{font-size:12px;fill:var(--gold2);letter-spacing:.06em}
/* 密視圖（本季/本年/十年）的游標讀數：與點擊同一套 x→index 換算 */
.nx-hover{font-size:13.5px;fill:var(--gold2);letter-spacing:.02em;pointer-events:none}
#nx-cursor{pointer-events:none}
/* 綠圈：主畫面正在讀的那一天 */
.nx-pick{pointer-events:none}
/* 衣庫 v2：中式推薦那一句 */
.lg-wear-rec{line-height:1.9}
.lg-wear-rec b{color:var(--gold2);font-weight:600}
.lg-dim{color:var(--dim);font-size:13.5px}
/* 衣庫 v2：色系本命語（一句有味道的話） */
.lg-motto{color:var(--gold2);font-size:14px;line-height:1.85}

/* ================= v2 版式（2026-09-11）=================
   只加「新區塊」的樣式；字級／字體／配色全部沿用上面那一套（楷體＋黑金），
   這裡不引入任何新顏色，只重用 --gold／--gold2／--ivory／--muted／--dim／--line。
   v1（daily-guidance.css）完全不動，兩份可以前後對照。 */
html{scroll-behavior:smooth;scroll-padding-top:18px}

/* ---- 頂部錨點導覽 ---- */
.v2-nav{
  display:flex;align-items:center;gap:26px;flex-wrap:wrap;
  margin:0 0 20px;padding:0 0 11px;
  border-bottom:1px solid var(--line-soft);
}
.v2-nav a{
  color:var(--muted);font-size:14px;letter-spacing:.12em;text-decoration:none;
  padding:2px 0;border-bottom:1px solid transparent;
}
.v2-nav a:hover{color:var(--gold2);border-bottom-color:var(--gold)}
.v2-nav .v2-backtop{margin-left:auto;color:var(--gold);font-size:13.5px}

/* ---- 折疊區（details）通用 ---- */
.v2-fold{border-top:1px solid var(--line-soft);margin-top:16px}
.v2-fold>summary{
  list-style:none;cursor:pointer;padding:12px 0;
  display:flex;align-items:center;gap:10px;
  color:var(--gold);font-size:14px;letter-spacing:.16em;
}
.v2-fold>summary::-webkit-details-marker{display:none}
.v2-fold>summary::after{content:"＋";margin-left:auto;color:var(--gold);font-size:16px;line-height:1}
.v2-fold[open]>summary::after{content:"－"}
.v2-fold-body{padding:2px 0 16px;color:var(--muted);font-size:14.5px;line-height:1.9}
.v2-kv{display:flex;gap:14px;padding:3px 0;align-items:baseline}
.v2-kv b{flex:none;min-width:96px;font-weight:400;color:var(--dim);font-size:13.5px;letter-spacing:.06em}

/* 頭部兩欄裡的折疊（你的本命 / 今日主氣） */
.head-flow .v2-fold{margin-top:14px}
.head-flow .flow-canvas .v2-fold{margin-top:12px}
.head-flow .v2-fold>summary{font-size:13.5px;letter-spacing:.14em;padding:10px 0}
.head-flow .v2-fold-body{font-size:14px}

/* ---- 次要列：氣運趨勢 ＋ 今日有利方位（都預設收合） ---- */
.v2-secondary{display:grid;grid-template-columns:1.12fr .88fr;gap:16px;margin-top:24px}
.v2-secondary>.v2-fold{
  margin-top:0;border:1px solid var(--line-soft);background:rgba(0,0,0,.14);
  padding:0 20px;
}
.v2-secondary>.v2-fold>summary{min-height:56px;color:var(--gold2);font-size:15px;letter-spacing:.14em}
.v2-secondary>.v2-fold>.v2-fold-body{padding-bottom:20px}
.v2-secondary .v2-fold .v2-fold{margin-top:6px;border-top:1px solid var(--line-soft)}
.v2-secondary .v2-fold .v2-fold>summary{font-size:13px;padding:9px 0;color:var(--dim)}
@media(max-width:1000px){.v2-secondary{grid-template-columns:1fr}}

/* ---- 分領域卡內的「領域側重」 ---- */
.domain .v2-fold{margin-top:11px}
.domain .v2-fold>summary{padding:8px 0;font-size:12.5px;letter-spacing:.12em;color:var(--dim)}
.domain .v2-fold-body{padding-bottom:2px;font-size:13.5px;line-height:1.8}

/* ---- 今日八事：卡首、標題圖、折疊詳情 ---- */
.v2-life-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap}
.v2-expand{
  border:1px solid rgba(205,166,90,.4);background:rgba(205,166,90,.08);
  color:var(--gold2);font:inherit;font-size:13.5px;padding:6px 16px;
  cursor:pointer;letter-spacing:.08em;white-space:nowrap;
}
.v2-expand:hover{background:rgba(205,166,90,.18);border-color:var(--gold)}
.v2-life-nav{
  display:flex;gap:0;margin:12px 0 16px;overflow-x:auto;
  border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);
}
.v2-life-nav a{
  flex:1;min-width:62px;text-align:center;text-decoration:none;
  padding:11px 6px;color:var(--muted);font-size:19px;letter-spacing:.1em;
}
.v2-life-nav a:hover{color:var(--gold2);background:rgba(205,166,90,.07)}
.lg-card{scroll-margin-top:24px}
.lg-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:9px}
.lg-cat{font-size:13px;letter-spacing:.12em;color:var(--gold)}
.lg-num{font-size:12.5px;color:var(--dim);letter-spacing:.08em}
.lg-media{margin:11px 0 13px;border:1px solid var(--line-soft);background:rgba(0,0,0,.22);overflow:hidden;line-height:0}
.lg-media img{display:block;width:100%;aspect-ratio:2.15/1;object-fit:cover}
.lg-lead{
  margin:0 0 4px;padding-left:10px;border-left:2px solid rgba(205,166,90,.45);
  font-size:16px;line-height:1.8;color:var(--ivory);
}
.lg-details{margin-top:12px;border-top:1px solid var(--line-soft)}
.lg-details>summary{
  list-style:none;cursor:pointer;padding:11px 0;
  display:flex;align-items:center;gap:10px;
  color:var(--gold2);font-size:14px;letter-spacing:.1em;
}
.lg-details>summary::-webkit-details-marker{display:none}
.lg-details>summary::after{content:"＋";margin-left:auto;color:var(--gold);font-size:16px}
.lg-details[open]>summary::after{content:"－"}
.lg-details>.v2-fold-body{padding-bottom:2px}
.lg-card .lg-swap{margin-top:14px}
.lg-card .lg-alt{margin-top:12px}

/* ---- 趨勢圖：五檔讀數 ---- */
.nx-read{margin-top:7px;min-height:23px;font-size:14px;color:var(--gold2);letter-spacing:.03em}
.nx-read .nx-read-k{color:var(--dim);font-size:13px;letter-spacing:.12em;margin-right:9px}
.nx-read em{font-style:normal;color:var(--gold2);font-size:16.5px;margin-left:7px}
.v2-trend .nx-hint{margin-top:9px}

/* ---- 頁尾的回到頂部 ---- */
.v2-foot-nav{margin-top:26px;text-align:center}
.v2-foot-nav a{color:var(--gold);font-size:13.5px;letter-spacing:.12em;text-decoration:none}
.v2-foot-nav a:hover{color:var(--gold2)}

/* ---- 頁首：大標題 ＋ 日期（GPT 版把這兩行從卡片裡提到卡片外），右側補一行小字 ---- */
.report-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 20px}
.report-head .report-title{margin:0}
.rh-date{margin-top:12px;font-size:19px;color:var(--gold2);font-weight:500;letter-spacing:.04em;line-height:1.5}
.rh-meta{flex:none;padding-bottom:6px;font-size:12px;letter-spacing:.24em;color:var(--dim);white-space:nowrap}
@media(max-width:900px){.rh-meta{display:none}}

/* ---- 兩欄的底列對齊：你的本命（左）與今日主氣（右）都貼在卡片底緣，
        所以兩欄要等高，折疊用 margin-top:auto 推到欄底。 ---- */
.today-head.head-flow{align-items:stretch}
.head-flow .flow-words,.head-flow .flow-canvas{display:flex;flex-direction:column}
.head-flow .flow-words>.v2-fold,.head-flow .flow-canvas>.v2-fold{margin-top:auto}
.head-flow .flow-canvas{align-self:stretch}

/* ---- 今日主題：標籤移到左邊界（懸掛式），標題／短線／一句話在右側縮排對齊 ---- */
.main-copy{
  margin:30px 0 0;padding:0;border-left:0;
  display:grid;grid-template-columns:118px minmax(0,1fr);column-gap:24px;
  align-items:start;
}
.main-copy .mc-label{grid-column:1;grid-row:1;margin:9px 0 0;font-size:13px;letter-spacing:.2em;color:var(--muted)}
.main-copy .mc-title{grid-column:2;grid-row:1;margin:0}
.main-copy .mc-rule{
  grid-column:2;grid-row:2;width:190px;height:1px;margin-top:12px;
  background:linear-gradient(90deg,var(--gold) 0%,rgba(205,166,90,.18) 72%,rgba(205,166,90,0) 100%);
}
.main-copy .mc-oneliner{grid-column:2;grid-row:3;margin:12px 0 0}
@media(max-width:760px){
  .main-copy{grid-template-columns:1fr}
  .main-copy .mc-label{grid-column:1;grid-row:1;margin:0 0 6px}
  .main-copy .mc-title{grid-column:1;grid-row:2}
  .main-copy .mc-rule{grid-column:1;grid-row:3}
  .main-copy .mc-oneliner{grid-column:1;grid-row:4}
}

/* ---- 八張卡統一：整張圖當底，標題文字壓在圖上（悟卡先做，現在八卡共用同一套） ----
   圖比例統一 560×380（＝悟卡比例）。舊的 2.15:1 舊圖會被 object-fit:cover 左右裁切，
   換成 560×380 的新圖之後就完全吻合、不會裁到。
   字用墨色（底是淺色宣紙），再加一層紙色柔光，讓字跨過霧氣也讀得清。
   想改回「圖在文字上方」：把 .lg-stage 這幾條刪掉，
   JS 那邊把 lgStageHTML(...) 換回 ${lgMediaHTML(k,t.id)} 即可。 */
.lg-stage{position:relative;margin:11px 0 13px;border:1px solid var(--line-soft);overflow:hidden;line-height:0}
.lg-stage>img{display:block;width:100%;aspect-ratio:560/380;object-fit:cover;object-position:center}
.lg-stage>figcaption{
  position:absolute;left:0;top:0;width:70%;height:100%;
  display:flex;flex-direction:column;justify-content:flex-start;gap:8px;
  padding:4% 1.5% 4% 5%;line-height:1.2;text-align:left;
}
/* 圖上的標題（八卡共用）：行距 1.2、貼頂、粗體 */
.lg-stage .lg-title{
  margin:0;font-size:22px;font-weight:700;line-height:1.2;letter-spacing:.02em;
  color:#2b2620;
  text-shadow:0 0 12px rgba(250,247,240,.95),0 0 4px rgba(250,247,240,.9),0 1px 0 rgba(255,255,255,.4);
}
.lg-stage .lg-quote{
  margin:0;font-size:22px;font-weight:700;letter-spacing:.04em;line-height:1.2;
  color:#2b2620;
  text-shadow:0 0 12px rgba(250,247,240,.95),0 0 4px rgba(250,247,240,.9),0 1px 0 rgba(255,255,255,.4);
}
.lg-stage .lg-quote-src{
  margin:0;font-size:14px;font-weight:400;letter-spacing:.05em;line-height:1.3;
  color:#5b5347;opacity:.95;
  text-shadow:0 0 10px rgba(250,247,240,.9);
}
@media(max-width:760px){
  .lg-stage>figcaption{width:82%;padding:4% 2% 4% 4%}
  .lg-stage .lg-title{font-size:20px}
  .lg-stage .lg-quote{font-size:19px}
}

/* ---- 阿拉伯語：只改文字方向，不鏡像版面 ----（和 nameawaken/report.html 同一套做法）
   app.js 對 ar 會下 documentElement.dir="rtl"。整頁跟著 RTL 之後，
   兩欄（小人／粒子）、四領域、生活卡格線全部左右對調，
   但粒子畫布、圖例、圓盤標籤都是絕對定位、不會跟著鏡像，
   結果變成「一半鏡像、一半沒有」，看起來就是左右翻轉。
   所以：版面鎖回 LTR（和其餘十語完全一樣）；html 本身也鎖，否則捲軸會跑到左邊。
   文字另外掛 unicode-bidi:plaintext —— 讓「每一段自己判斷方向」：
   阿語段走 RTL（標點才不會跑到錯的一邊、數字與拉丁字仍照原樣），
   但對齊維持左邊，整頁的構圖才和其餘十語一致。
   註：text-align 必須一起寫 left。plaintext 之下 Chrome 會用「該段的實際方向」
   去解 text-align:start（初始值），不寫的話阿語段會自己靠右，
   標籤在左、正文在右，構圖就散掉了。
   （若哪天想改成阿語慣用的右對齊，把下面這組的 left 全部改成 right。） */
html[dir="rtl"],
html[dir="rtl"] body{ direction:ltr; }

html[dir="rtl"] .fc-sentence,
html[dir="rtl"] .fs-line,
html[dir="rtl"] .rh-date,
html[dir="rtl"] .mc-title,
html[dir="rtl"] .mc-oneliner,
html[dir="rtl"] .lg-title,
html[dir="rtl"] .lg-quote,
html[dir="rtl"] .lg-quote-src,
html[dir="rtl"] .lg-lead,
html[dir="rtl"] .lg-p,
html[dir="rtl"] .lg-hint,
html[dir="rtl"] .lg-why,
html[dir="rtl"] .do-dont h4,
html[dir="rtl"] .do-dont li,
html[dir="rtl"] .why-body>div,
html[dir="rtl"] .dir-use,
html[dir="rtl"] .dir-sub,
html[dir="rtl"] .lg-sub,
html[dir="rtl"] .nx-hint{
  unicode-bidi:plaintext; text-align:left;
}

/* =====================================================
   中文標題字族 · 楷體（2026-09-12）
   -----------------------------------------------------
   只對中文（zh-Hant／zh-Hans）生效，只接管「標題／小標題層」：
   頁首大標、刊期、檔位字、今日主題大字、欄目名、四領域名、
   宜／慎小標、方位大字、生活卡圖上的標題與引文、粒子帶標題、
   你的本命數值，以及折疊區塊的標題列。

   不動的：標籤類（.mc-label、.lg-tag、.lg-chip、.lg-sub、.d-num、
   .v2-kv b、趨勢圖 SVG 上的字）、所有正文段落、以及拉丁字與數字
   （"Times New Roman" 仍排在字族最後，不會搶到中文）。

   字族取自 css/fonts.css 既有定義，不必新增字檔：
     "KaiTi"       → local(KaiTi／STKaiti) ＋ kaiti-all-tc.woff2
     "ReportKaiTi" → kaiti-all-tc.woff2（報告頁楷體，當第二順位）
   本機有系統楷體就不會下載 woff2；遇到缺字才逐字往後遞補。
   （日／韓不受影響：fonts.css 的 html[lang="ja"]／[lang="ko"] 另有一套。）
   ===================================================== */
html:is([lang="zh-Hant"],[lang="zh-Hans"]) :is(
  .report-title,
  .rh-date,
  .slot-word,
  .mc-title,
  .section-title,
  .d-name,
  .do-dont h4,
  .dir-big,
  .dir-big .tri,
  .v2-kv span,
  .head-flow .v2-fold>summary,
  .v2-secondary>.v2-fold>summary,
  .why summary,
  .lg-stage .lg-title,
  .lg-stage .lg-quote,
  .lg-stage .lg-quote-src,
  .fc-title
){
  font-family:"KaiTi","STKaiti","Kaiti SC","楷体","ReportKaiTi","FixedKaiTi",serif;
}
