:root {
  --bg: #f6f4ef;
  --card: #ffffff;
  --ink: #26231f;
  --muted: #6b655c;
  --line: #e2ddd2;
  --accent: #8a3b2a;
  --accent-soft: #f3e3de;
  --warn-bg: #fff4dc;
  --warn-line: #e6c777;
  --c-zhi: #1f6b4a;       /* 直断 */
  --c-hou: #355c9a;       /* 候选 */
  --c-liang: #9a6a1c;     /* 两可 */
  --c-qi: #7a4a8a;        /* 弃判 */
}
* { box-sizing: border-box; }
html { font-size: 16px; }
body {
  margin: 0; background: var(--bg); color: var(--ink);
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", system-ui, sans-serif;
  line-height: 1.75;
}
.top { text-align: center; padding: 22px 16px 8px; }
.top h1 { margin: 0; font-size: 1.6rem; letter-spacing: .08em; color: var(--accent); }
.sub { margin: 4px 0 0; color: var(--muted); font-size: .9rem; }
.banner {
  max-width: 880px; margin: 12px auto; padding: 10px 16px;
  background: var(--warn-bg); border: 1px solid var(--warn-line); border-radius: 8px;
  font-size: .95rem; text-align: center;
}
.banner.strong { font-size: 1rem; }
main { max-width: 880px; margin: 0 auto; padding: 0 12px 40px; }
.card {
  background: var(--card); border: 1px solid var(--line); border-radius: 10px;
  padding: 16px 18px; margin: 14px 0;
}
.card h2 { margin: 0 0 10px; font-size: 1.15rem; color: var(--accent); border-bottom: 1px solid var(--line); padding-bottom: 6px; }
.field { display: block; margin: 10px 0; border: 0; padding: 0; }
.lab { display: block; font-size: .9rem; color: var(--muted); margin-bottom: 4px; }
input[type=text], input[type=number], textarea {
  width: 100%; padding: 8px 10px; font-size: 1rem; font-family: inherit;
  border: 1px solid var(--line); border-radius: 6px; background: #fff; color: var(--ink);
}
input:focus, textarea:focus { outline: 2px solid var(--accent-soft); border-color: var(--accent); }
.radio { margin-right: 18px; cursor: pointer; }
.row { display: flex; gap: 18px; flex-wrap: wrap; align-items: flex-end; }
.row > .field { flex: 1 1 220px; }
.field.narrow { flex: 1 1 150px; }
.preview { min-height: 1.6rem; font-size: .95rem; }
.preview table { border-collapse: collapse; margin-top: 2px; }
.preview th, .preview td { padding: 2px 12px; text-align: center; border: 1px solid var(--line); }
.preview th { background: #faf8f2; color: var(--muted); font-weight: normal; font-size: .85rem; }
.hint, .note { color: var(--muted); font-size: .88rem; margin: 6px 0; }
.hint.warn { color: #9a5a00; }
.opt { margin-top: 8px; }
.opt summary { cursor: pointer; color: var(--accent); }
.actions { margin-top: 14px; display: flex; gap: 10px; }
button {
  padding: 9px 22px; font-size: 1rem; font-family: inherit; cursor: pointer;
  background: var(--accent); color: #fff; border: 0; border-radius: 6px;
}
button:hover { filter: brightness(1.08); }
button:disabled { opacity: .55; cursor: wait; }
button.ghost { background: #fff; color: var(--accent); border: 1px solid var(--accent); }
.error { margin-top: 12px; padding: 10px 12px; background: #fdecea; border: 1px solid #e0a39b; color: #8a1c10; border-radius: 6px; }

#summary .tags span {
  display: inline-block; margin: 2px 6px 2px 0; padding: 1px 10px; border-radius: 999px;
  background: var(--accent-soft); color: var(--accent); font-size: .9rem;
}
.pillars { border-collapse: collapse; margin: 8px 0; width: 100%; max-width: 560px; }
.pillars th, .pillars td { border: 1px solid var(--line); padding: 4px 8px; text-align: center; font-size: .95rem; }
.pillars th { background: #faf8f2; color: var(--muted); font-weight: normal; }
.pillars .gz { font-size: 1.25rem; letter-spacing: .1em; }
.small { font-size: .82rem; color: var(--muted); }

.sec-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.badge {
  display: inline-block; padding: 0 9px; border-radius: 4px; font-size: .8rem; color: #fff;
  vertical-align: 1px; margin-right: 6px; white-space: nowrap;
}
.b-直断 { background: var(--c-zhi); }
.b-候选 { background: var(--c-hou); }
.b-两可 { background: var(--c-liang); }
.b-弃判 { background: var(--c-qi); }
.para { margin: 8px 0; white-space: pre-line; }
.para details { margin-top: 2px; }
.para summary { cursor: pointer; font-size: .82rem; color: var(--muted); }
.para ul { margin: 4px 0 0; padding-left: 20px; font-size: .85rem; color: var(--muted); }
.quote { border-left: 3px solid var(--accent); padding-left: 10px; background: #fcfaf6; }
/* 答疑流小标题 */
.card h3.grp { margin: 16px 0 4px; font-size: 1rem; color: var(--accent); border-left: 4px solid var(--accent); padding-left: 8px; }
.card h3.grp.g-years { border-left-color: #b8731c; color: #8a5510; }
.card h3.grp.g-person { border-left-color: var(--c-zhi); color: var(--c-zhi); }
.card h3.grp.g-summary { border-left-color: #b8731c; color: #8a5510; }

table.data { border-collapse: collapse; width: 100%; font-size: .88rem; margin: 8px 0; }
table.data th, table.data td { border: 1px solid var(--line); padding: 3px 6px; text-align: center; vertical-align: top; }
table.data th { background: #faf8f2; color: var(--muted); font-weight: normal; }
table.data td.left { text-align: left; }
.tone-偏顺, .tone-喜用 { color: var(--c-zhi); font-weight: bold; }
.tone-偏逆, .tone-忌神 { color: #a02a1a; font-weight: bold; }
.cur { background: #fff7e6; }
.tbl-wrap { overflow-x: auto; }
footer { max-width: 880px; margin: 0 auto; padding: 0 16px 28px; color: var(--muted); font-size: .8rem; text-align: center; }

@media (max-width: 560px) {
  .card { padding: 12px 12px; }
  .top h1 { font-size: 1.3rem; }
}

/* 自动排盘 */
.autobox { border: 1px dashed var(--line); border-radius: 8px; padding: 6px 14px 10px; margin: 6px 0 12px; }
.autobox[hidden] { display: none; }
input[type=date], input[type=time] { font: inherit; padding: 6px 8px; border: 1px solid var(--line); border-radius: 6px; width: 100%; box-sizing: border-box; }
.btn-col { align-self: flex-end; }
.paipan-out table { border-collapse: collapse; margin: 4px 0; }
.paipan-out th, .paipan-out td { padding: 2px 12px; text-align: center; border: 1px solid var(--line); }
.paipan-out th { background: #faf8f2; color: var(--muted); font-weight: normal; font-size: .85rem; }
.paipan-out p { margin: 4px 0; font-size: .92rem; }

/* 咨询主题 */
.topics .radio { white-space: nowrap; }
button.small { padding: 2px 10px; font-size: .85rem; margin-left: 4px; }

/* 农历输入与真太阳时 */
select { font: inherit; padding: 7px 8px; border: 1px solid var(--line); border-radius: 6px; width: 100%; background: #fff; color: var(--ink); }
select:disabled { background: #f3f1ec; color: var(--muted); }
.lunar-box { display: flex; gap: 12px; flex-wrap: wrap; flex: 2 1 330px; }
.lunar-box[hidden] { display: none; }
.lunar-box .field { flex: 1 1 100px; margin: 10px 0; }
.conv { font-weight: bold; color: var(--accent); }
.ts-alert { background: #fff1e0; border: 1px solid #e0a35c; border-left: 5px solid #d9822b; border-radius: 6px; padding: 8px 12px; font-weight: bold; color: #7a3d00; }
.ts-box { margin: 6px 0; padding: 6px 12px; background: #faf8f2; border: 1px solid var(--line); border-radius: 6px; }
#solarBox[hidden] { display: none; }
#copy[hidden] { display: none; }   /* 完整版（含依据）复制按钮只给站主：带正确 ?key= 时由脚本解除隐藏 */

/* 近年财运、客户版引导语 */
.card h3.grp.g-wealth { border-left-color: #b8731c; color: #8a5510; }

/* 内部研判（仅站主）：灰底、虚线框，和客户可见的卡片明显区分 */
.card.internal { background: #e6e6e6; border: 2px dashed #777; }
.card.internal h2 { color: #333; border-bottom-color: #aaa; }
.card.internal h3.grp.g-internal { border-left-color: #555; color: #333; }
.card.internal .int-who { margin: 14px 0 2px; font-size: .98rem; color: #333; }
.badge.b-internal { background: #555; }
table.int-table th { background: #d6d6d6; }
table.int-table td { background: #f2f2f2; }
table.int-table td.lv-重度 { color: #a02a1a; font-weight: bold; white-space: nowrap; }
table.int-table td.lv-注意 { color: #8a5510; white-space: nowrap; }
table.int-table tr.lv-row-重度 td { background: #f6e3df; }
.internal-row { margin: 6px 0 0; padding: 6px 10px; background: #e6e6e6; border: 1px dashed #777; border-radius: 6px; }

/* ==========================================================================
   英文站展示改版（15_英文站展示改版设计说明.md）
   以下规则全部作用于 html[lang="en"]；中文页面只用第一条把英文专属元素（.en-only）隐藏。
   ========================================================================== */
html:not([lang="en"]) .en-only { display: none; }
html[lang="en"] .zh-only { display: none; }

/* ---- 中文站结尾「请老师细批」卡（2026-10-22）：表单组件与英文站共用（.inq-*），这里只给中文站配色（赤陶） ---- */
html:not([lang="en"]) .teacher-card { border-color: #e3c9c1; background: #fbf7f5; }
html:not([lang="en"]) .teacher-body { margin: 0 0 6px; font-size: 1rem; }
html:not([lang="en"]) .teacher-steps { margin: 0; font-size: .9rem; color: var(--muted); }
html:not([lang="en"]) .inq { margin-top: 12px; }
html:not([lang="en"]) .inq-field { display: block; margin: 12px 0 0; }
html:not([lang="en"]) .inq-lab { display: block; margin-bottom: 4px; font-size: .9rem; color: var(--ink); }
html:not([lang="en"]) .inq-input { display: block; width: 100%; padding: 9px 11px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); font: inherit; font-size: 1rem; line-height: 1.6; }
html:not([lang="en"]) textarea.inq-input { min-height: 120px; resize: vertical; }
html:not([lang="en"]) .inq-input:focus { outline: 2px solid var(--accent-soft); outline-offset: 1px; border-color: var(--accent); }
html:not([lang="en"]) .inq-count { margin-top: 4px; font-size: .8rem; color: var(--muted); text-align: right; }
html:not([lang="en"]) .inq-attach { margin: 8px 0 0; padding: 8px 12px; border: 1px dashed #d8b6ac; border-radius: 8px; background: #fff; font-size: .86rem; color: var(--muted); overflow-wrap: anywhere; }
html:not([lang="en"]) .inq-hp { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
html:not([lang="en"]) .inq-privacy { margin: 10px 0 0; font-size: .82rem; color: var(--muted); }
html:not([lang="en"]) .inq-error { margin-top: 10px; padding: 8px 12px; border: 1px solid #e0a39b; border-radius: 8px; background: #fdecea; color: #8a1c10; font-size: .92rem; }
html:not([lang="en"]) .inq-error[hidden] { display: none; }
html:not([lang="en"]) .inq-send { margin-top: 12px; padding: 10px 28px; background: var(--accent); }
html:not([lang="en"]) .inq-ok { display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px; border: 1px solid #e3c9c1; border-radius: 10px; background: var(--accent-soft); }
html:not([lang="en"]) .inq-ok:focus { outline: none; }
html:not([lang="en"]) .inq-ok-mark { flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%; background: var(--accent); color: #fff; font-weight: 700; line-height: 26px; text-align: center; }
html:not([lang="en"]) .inq-ok p { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 600px) { html:not([lang="en"]) .inq-send { width: 100%; } }

/* ---- 色板、字体、阅读宽度 ---- */
html[lang="en"] {
  --bg: #F7F5F0; --card: #FFFFFF; --ink: #1E2430; --muted: #5F6775; --line: #E4E0D8;
  --primary: #1F5F5B; --primary-soft: #E3EFEC; --gold: #C8A24A; --gold-soft: #F6EEDA;
  --cta: #C96A3B; --cta-hover: #B35A2E; --good: #3F7D5A; --caution: #B8731C; --bad: #A3473A;
  --accent: var(--primary); --accent-soft: var(--primary-soft);
  --c-zhi: var(--primary); --c-hou: #4A6FA5; --c-liang: var(--caution); --c-qi: #8A8F99;
  --serif: Georgia, "Iowan Old Style", "Palatino Linotype", serif;
  --sans: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
html[lang="en"] body { font-family: var(--sans); font-size: 17px; line-height: 1.6; }
html[lang="en"] main { max-width: 760px; padding: 0 16px 48px; }
html[lang="en"] footer { max-width: 760px; }
html[lang="en"] .banner { display: none; }                 /* 黄色免责横幅：英文页隐藏，免责声明在结果末尾与页脚 */

/* ---- A 页头 ---- */
html[lang="en"] .top { padding: 36px 16px 8px; }
html[lang="en"] .top h1 { font-family: var(--serif); font-size: 2.2rem; font-weight: 700; letter-spacing: .01em; color: var(--primary); }
html[lang="en"] .top .sub { margin-top: 2px; font-size: .92rem; letter-spacing: .04em; }
html[lang="en"] .value-prop { display: block; max-width: 540px; margin: 16px auto 0; font-family: var(--serif); font-size: 1.2rem; line-height: 1.45; color: var(--ink); }
html[lang="en"] .trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 8px; max-width: 640px; margin: 14px auto 4px; padding: 0; list-style: none; }
html[lang="en"] .trust li { padding: 2px 12px; border-radius: 999px; background: var(--primary-soft); color: var(--primary); font-size: .82rem; font-weight: 600; line-height: 1.6; }
html[lang="en"] .trust li::before { content: "\2713\00a0"; }

/* ---- 卡片、标题 ---- */
html[lang="en"] .card { padding: 20px 22px; border-radius: 14px; box-shadow: 0 1px 2px rgba(30, 36, 48, .04), 0 6px 18px rgba(30, 36, 48, .04); }
html[lang="en"] .card h2 { margin: 0 0 10px; padding: 0; border: 0; font-family: var(--serif); font-size: 1.25rem; font-weight: 700; line-height: 1.3; color: var(--primary); }
html[lang="en"] .card h3.grp { font-family: var(--sans); font-size: .95rem; margin: 18px 0 4px; }
html[lang="en"] .form-step { display: block; margin: 20px 0 6px; padding-bottom: 6px; border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: 1.05rem; font-weight: 700; color: var(--ink); }
html[lang="en"] .lab { color: var(--muted); }
html[lang="en"] input[type=text], html[lang="en"] input[type=number], html[lang="en"] input[type=date], html[lang="en"] input[type=time],
html[lang="en"] textarea, html[lang="en"] select { border-radius: 8px; font-size: 1rem; }

/* ---- 单选项与干支表：圆点和文字不拆行；窄屏下表格在自己的框里横向滚动，不撑宽页面 ---- */
html[lang="en"] .radio { display: inline-block; white-space: nowrap; }
html[lang="en"] .preview td, html[lang="en"] .pillars td, html[lang="en"] .paipan-out td { white-space: nowrap; }
html[lang="en"] .preview, html[lang="en"] .paipan-out { overflow-x: auto; }

/* ---- B 表单按钮：主按钮用唯一的暖亮色 ---- */
html[lang="en"] button { border-radius: 8px; background: var(--primary); font-weight: 600; }
html[lang="en"] button.ghost { background: #fff; color: var(--primary); border: 1px solid var(--primary); }
html[lang="en"] #go { padding: 12px 30px; background: var(--cta); font-size: 1.05rem; }
html[lang="en"] #go:hover { background: var(--cta-hover); filter: none; }
html[lang="en"] #go:disabled { background: var(--cta); }

/* ---- C1 盘面一览 ---- */
html[lang="en"] .tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 10px 0 6px; }
html[lang="en"] .tile { min-width: 0; padding: 10px 6px 12px; text-align: center; border: 1px solid var(--gold); border-radius: 12px; background: var(--gold-soft); }
html[lang="en"] .t-pos { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
html[lang="en"] .t-gz { margin: 2px 0 6px; font-family: var(--serif); font-size: 1.3rem; font-weight: 700; line-height: 1.2; color: var(--ink); overflow-wrap: anywhere; }
html[lang="en"] .t-tg { font-size: .78rem; line-height: 1.35; color: var(--muted); }
html[lang="en"] .tile-note { margin: 4px 0 0; font-size: .8rem; color: var(--muted); }
html[lang="en"] .facts { margin: 14px 0 0; }
html[lang="en"] .facts > div { display: flex; gap: 12px; padding: 7px 0; border-top: 1px solid var(--line); }
html[lang="en"] .facts dt { flex: 0 0 7.5rem; margin: 0; font-size: .9rem; color: var(--muted); }
html[lang="en"] .facts dd { flex: 1 1 auto; min-width: 0; margin: 0; font-weight: 600; overflow-wrap: anywhere; }
html[lang="en"] .mini { margin: 16px 0 6px; font-family: var(--sans); font-size: .74rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
html[lang="en"] .chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
html[lang="en"] .chip { padding: 4px 12px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-size: .88rem; font-weight: 600; line-height: 1.5; }
html[lang="en"] .chip-caution { color: #8A5510; background: #FBF1E2; border-color: #EBD3AB; }
html[lang="en"] .chip-good { color: #2E6045; background: #E8F2EC; border-color: #BFD9C9; }
html[lang="en"] .chip-info { color: var(--primary); background: var(--primary-soft); border-color: #BCD8D3; }
html[lang="en"] #summary .hint { margin-top: 12px; }

/* ---- C2 / C4 行动卡 ---- */
html[lang="en"] .cta-card { background: var(--primary-soft); border-color: #BCD8D3; }
html[lang="en"] .cta-body { margin: 0; }
html[lang="en"] .cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 14px 0 6px; }
html[lang="en"] .cta-note { margin: 6px 0 0; font-size: .84rem; color: var(--muted); }
html[lang="en"] .cta-more { margin: 8px 0 0; font-size: .88rem; }
html[lang="en"] .btn-cta { display: inline-block; padding: 12px 26px; border-radius: 8px; background: var(--cta); color: #fff; font-size: 1.02rem; font-weight: 600; line-height: 1.3; text-align: center; text-decoration: none; }
html[lang="en"] .btn-cta:hover { background: var(--cta-hover); }
html[lang="en"] .cta-row button.ghost { padding: 11px 22px; }
html[lang="en"] button.linklike { padding: 2px 0; border: 0; background: none; color: var(--primary); font-size: .88rem; font-weight: 400; text-decoration: underline; }
html[lang="en"] button.linklike:hover { filter: none; text-decoration: none; }
html[lang="en"] #result > .actions { display: none; }      /* 两个复制按钮已挪进结尾行动卡 */
html[lang="en"] .fine { margin: 6px 4px 0; font-size: .8rem; color: var(--muted); text-align: center; }

/* ---- 置信徽章图例 ---- */
html[lang="en"] .legend { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin: 16px 2px 2px; font-size: .84rem; color: var(--muted); }
html[lang="en"] .lg-intro { font-weight: 600; }
html[lang="en"] .lg-item .badge { margin-right: 2px; }

/* ---- C3 板块卡 ---- */
html[lang="en"] .sec .sec-head h2 { margin: 0; }
html[lang="en"] .takeaway { margin-top: 12px; padding-left: 12px; border-left: 3px solid var(--gold); }
html[lang="en"] .takeaway .mini { display: inline-block; margin: 0 0 4px; padding: 1px 8px; border-radius: 4px; background: var(--gold-soft); color: #7A5E14; }
html[lang="en"] .tk-text { margin: 2px 0 0; white-space: pre-line; }
html[lang="en"] .yrs { margin-top: 6px; }
html[lang="en"] .yr-list { margin: 0; padding: 0; list-style: none; }
html[lang="en"] .yr-list li { position: relative; padding: 6px 0 6px 16px; border-top: 1px solid var(--line); font-size: .95rem; line-height: 1.5; }
html[lang="en"] .yr-list li::before { content: ""; position: absolute; left: 1px; top: 1.05em; width: 7px; height: 7px; border-radius: 50%; background: var(--c-hou); }
html[lang="en"] .yr-list li.c-直断::before { background: var(--c-zhi); }
html[lang="en"] .yr-list li.c-候选::before { background: var(--c-hou); }
html[lang="en"] .yr-list li.c-两可::before { background: var(--c-liang); }
html[lang="en"] .yr-list li.c-弃判::before { background: var(--c-qi); }
html[lang="en"] .yr-list .yr { margin-right: 3px; font-variant-numeric: tabular-nums; }
html[lang="en"] .yr-list .lead { color: var(--primary); }
html[lang="en"] details.more { margin-top: 14px; padding-top: 6px; border-top: 1px dashed var(--line); }
html[lang="en"] details.more > summary { padding: 6px 0; list-style: none; cursor: pointer; font-size: .95rem; font-weight: 600; color: var(--primary); }
html[lang="en"] details.more > summary::-webkit-details-marker { display: none; }
html[lang="en"] details.more > summary::before { content: "\25B8"; display: inline-block; margin-right: 8px; transition: transform .15s; }
html[lang="en"] details.more[open] > summary::before { transform: rotate(90deg); }
html[lang="en"] .more-body { padding-top: 4px; }
html[lang="en"] .more-body .para { font-size: .95rem; }
html[lang="en"] .more-body > details.basis { margin: 6px 0 8px; }
html[lang="en"] .more-body > details.basis > summary { cursor: pointer; font-size: .82rem; color: var(--muted); }
html[lang="en"] .more-body > details.basis > ul { margin: 4px 0 0; padding-left: 20px; font-size: .85rem; color: var(--muted); }

/* ---- 移动端 ---- */
@media (max-width: 560px) {
  html[lang="en"] .top h1 { font-size: 1.9rem; }
  html[lang="en"] .card { padding: 16px 16px; }
  html[lang="en"] .actions { flex-direction: column; }
  html[lang="en"] .actions button { width: 100%; }
  html[lang="en"] .cta-row { flex-direction: column; align-items: stretch; }
  html[lang="en"] .cta-row .btn-cta, html[lang="en"] .cta-row button { width: 100%; }
  html[lang="en"] .facts dt { flex-basis: 6.2rem; }
  html[lang="en"] .preview th, html[lang="en"] .preview td, html[lang="en"] .paipan-out th, html[lang="en"] .paipan-out td { padding: 2px 6px; font-size: .88rem; }
  html[lang="en"] .tile { padding: 10px 4px 12px; }
  html[lang="en"] .t-gz { font-size: .92rem; }
  html[lang="en"] .t-tg { font-size: .72rem; }
}
@media (max-width: 420px) {
  html[lang="en"] .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[lang="en"] .tile { padding: 10px 6px 12px; }
  html[lang="en"] .t-gz { font-size: 1.4rem; }
  html[lang="en"] .t-tg { font-size: .78rem; }
}

/* ---- Chart Overview 的大白话总括、页脚隐私链接、/privacy 隐私说明页（2026-10-15）---- */
html[lang="en"] .takeaway .tk-plain { margin: 6px 0 4px; font-size: 1.02rem; line-height: 1.5; color: var(--ink); }
html[lang="en"] .takeaway .tk-plain strong { font-weight: 700; }
html[lang="en"] footer a, html[lang="en"] .inq-privacy a { color: var(--primary); }
html[lang="en"] .brand { margin: 0; }
html[lang="en"] .brand a { font-family: var(--serif); font-size: 1.6rem; font-weight: 700; color: var(--primary); text-decoration: none; }
html[lang="en"] .prose { padding: 26px 28px; }
html[lang="en"] .prose h1 { margin: 0 0 4px; font-family: var(--serif); font-size: 1.8rem; line-height: 1.25; color: var(--primary); }
html[lang="en"] .prose h2 { margin: 26px 0 6px; font-family: var(--serif); font-size: 1.15rem; line-height: 1.3; color: var(--ink); }
html[lang="en"] .prose p { margin: 6px 0; }
html[lang="en"] .prose .updated { margin: 0 0 14px; font-size: .85rem; color: var(--muted); }
html[lang="en"] .prose .lead { font-size: 1.05rem; }
html[lang="en"] .prose a { color: var(--primary); }
html[lang="en"] .prose .back { margin-top: 28px; padding-top: 14px; border-top: 1px solid var(--line); }
@media (max-width: 560px) {
  html[lang="en"] .prose { padding: 18px 16px; }
  html[lang="en"] .brand a { font-size: 1.4rem; }
}

/* V2 brand and reading downloads */
.site-brand{display:flex;align-items:center;justify-content:center;gap:14px}.site-brand img{flex:none;width:64px;height:64px}.site-brand h1{margin:0}
.share-card{border-top:3px solid var(--accent);background:var(--bg)}.share-intro{color:var(--muted);margin:6px 0 18px}.share-actions{display:flex;gap:10px;flex-wrap:wrap}.share-status{font-size:.9rem;min-height:1.7em;margin:12px 0 0}.share-files{display:flex;gap:10px;flex-wrap:wrap}.share-files a{color:var(--accent);text-decoration:underline}.share-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:16px}.share-images:empty{display:none}.share-images figure{margin:0}.share-images img{display:block;width:100%;height:auto;box-shadow:0 8px 28px #00000014}.share-images figcaption{font-size:.85rem;line-height:1.6;color:var(--muted);margin-top:10px}
@media(max-width:560px){.share-actions{display:grid;grid-template-columns:1fr}.share-actions button{width:100%}.share-images{grid-template-columns:1fr}.site-brand img{width:52px;height:52px}}

/* ---- 首页主视觉（2026-10-22 配图）：图只负责氛围，品牌和口号仍是 HTML 文字；桌面把文字排在图左侧留白里 ---- */
.top.hero { position: relative; max-width: 1200px; margin: 0 auto; padding: 0; text-align: left; }
.hero-art { display: block; }
.hero-art img { display: block; width: 100%; height: auto; background: var(--bg);
  -webkit-mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent), linear-gradient(to bottom, transparent, #000 6%, #000 94%, transparent);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent), linear-gradient(to bottom, transparent, #000 6%, #000 94%, transparent);
  mask-composite: intersect; }                                   /* 四边淡出接上页面底色；不支持遮罩的浏览器照常显示原图 */
.hero-text { position: absolute; left: 7%; top: 27%; width: 34%; }
.hero .site-brand { justify-content: flex-start; }
.hero h1 { font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", serif; font-size: 2.4rem; font-weight: 600; }
.hero .sub { margin-top: 10px; font-size: 1.05rem; }
html[lang="en"] .top.hero { padding: 0; }                            /* 覆盖英文站旧页头的内边距，主图和中文站一样铺满 */
html[lang="en"] .hero h1 { font-size: 2.4rem; }
html[lang="en"] .hero .value-prop { margin: 14px 0 0; max-width: none; }
html[lang="en"] .hero .trust { margin: 0 auto 4px; }
@media (max-width: 900px) and (min-width: 641px) { .hero-text { top: 16%; width: 42%; } .hero h1, html[lang="en"] .hero h1 { font-size: 2rem; } }
@media (max-width: 640px) {
  .hero-text { top: 6%; left: 0; right: 0; width: auto; padding: 0 20px; text-align: center; }
  .hero .site-brand { justify-content: center; }
  .hero h1, html[lang="en"] .hero h1 { font-size: 1.9rem; }
  .hero-art img { aspect-ratio: 3 / 4; object-fit: cover; object-position: 50% 100%; }   /* 中英文竖版：只裁掉顶上的空纸，树和日轮/月轮在下方 */
  html[lang="en"] .hero .value-prop { font-size: 1.05rem; }
}

/* ---- 结果页的日主意象图、老师细批配图（2026-10-22）：按实际排盘的日干取图，懒加载 ---- */
.dm-art { margin: 6px auto 16px; max-width: 220px; text-align: center; }
.dm-art img { display: block; width: 100%; height: auto; border-radius: 14px; }
.dm-art figcaption { margin-top: 8px; font-size: 1rem; letter-spacing: .06em; color: var(--accent); }
.teacher-art img { display: block; width: 100%; height: auto; margin: 0 0 12px; border-radius: 10px; }

/* ---- 站内咨询表单（英文站结尾行动卡里，取代 mailto）---- */
html[lang="en"] .inq { margin-top: 14px; }
html[lang="en"] .inq-field { display: block; margin: 14px 0 0; }
html[lang="en"] .inq-lab { display: block; margin-bottom: 4px; font-size: .92rem; font-weight: 600; color: var(--ink); }
html[lang="en"] .inq-input { display: block; width: 100%; padding: 10px 12px; border: 1px solid #BCD8D3; border-radius: 8px; background: #fff; color: var(--ink); font: inherit; font-size: 1rem; line-height: 1.5; }
html[lang="en"] textarea.inq-input { min-height: 120px; resize: vertical; }
html[lang="en"] .inq-input:focus { outline: 2px solid var(--gold); outline-offset: 1px; border-color: var(--primary); }
html[lang="en"] .inq-count { margin-top: 4px; font-size: .8rem; color: var(--muted); text-align: right; }
html[lang="en"] .inq-attach { margin: 8px 0 0; padding: 8px 12px; border: 1px dashed #9CC6BF; border-radius: 8px; background: rgba(255, 255, 255, .6); font-size: .86rem; line-height: 1.5; color: var(--muted); overflow-wrap: anywhere; }
html[lang="en"] .inq-hp { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
html[lang="en"] .inq-privacy { margin: 10px 0 0; font-size: .82rem; color: var(--muted); }
html[lang="en"] .inq-error { margin-top: 12px; padding: 9px 12px; border: 1px solid #E0A39B; border-radius: 8px; background: #FDECEA; color: #8A1C10; font-size: .92rem; }
html[lang="en"] .inq-error[hidden] { display: none; }
html[lang="en"] .inq-send { margin-top: 14px; padding: 12px 30px; background: var(--cta); font-size: 1.02rem; }
html[lang="en"] .inq-send:hover { background: var(--cta-hover); filter: none; }
html[lang="en"] .inq-send:disabled { background: var(--cta); }
html[lang="en"] .inq-ok { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border: 1px solid #9CC6BF; border-radius: 10px; background: var(--primary-soft); }
html[lang="en"] .inq-ok:focus { outline: none; }
html[lang="en"] .inq-ok-mark { flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%; background: var(--primary); color: #fff; font-size: .95rem; font-weight: 700; line-height: 26px; text-align: center; }
html[lang="en"] .inq-ok p { margin: 0; font-weight: 600; color: var(--ink); overflow-wrap: anywhere; }
html[lang="en"] .inq-after { margin-top: 20px; padding-top: 16px; border-top: 1px dashed #9CC6BF; }
@media (max-width: 560px) {
  html[lang="en"] .inq-send { width: 100%; }
  html[lang="en"] .inq-ok { padding: 12px; }
}

