/* fm_hehun_02 · ghost_valley_cream × editorial */
fss,acronym,time,sdu,tcenter,stysle,ssmall,areass,abbr,sadw,dfn,noscripta,ecode,is,font,tyyt,sup{display:none!important;width:0!important;height:0!important;overflow:hidden!important;line-height:0!important;font-size:0!important;margin:0!important;padding:0!important;border:0!important}

.fm-hehun {
  --fm-max-w: 680px;
  --fm-radius: 0;
  --fm-bg: #fff9e6;
  --fm-surface: #ffffff;
  --fm-primary: #5d351b;
  --fm-accent: #a65d2e;
  --fm-text: #3e2723;
  --fm-muted: #8d6e63;
  --fm-border: #d7ccc8;
  --fm-hero-from: #5d351b;
  --fm-hero-to: #603813;
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--fm-text);
  background: var(--fm-bg);
  line-height: 1.6;
  box-sizing: border-box;
  max-width: var(--fm-max-w);
  margin: 0 auto;
  padding: 0 14px 48px;
}
.fm-hehun * { box-sizing: border-box; }

/* Hero */
.fm-hehun-hero {
  background: linear-gradient(135deg, var(--fm-hero-from), var(--fm-hero-to));
  color: #fff;
  padding: 48px 24px 32px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.fm-hehun-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 20px,
    rgba(255,255,255,.03) 20px,
    rgba(255,255,255,.03) 40px
  );
}
.fm-hehun-hero h1 {
  font-size: 1.8rem;
  font-weight: 700;
  margin: 0;
  position: relative;
  z-index: 1;
  text-shadow: 0 2px 4px rgba(0,0,0,.3);
}

/* 面包屑 */
.fm-hehun-crumb {
  font-size: .82rem;
  color: var(--fm-muted);
  padding: 12px 0;
  border-bottom: 1px solid var(--fm-border);
}
.fm-hehun-crumb a { color: var(--fm-primary); text-decoration: none; }
.fm-hehun-crumb span { margin: 0 6px; }

/* 表单 */
.fm-hehun-form {
  background: var(--fm-surface);
  padding: 20px;
  border: 1px solid var(--fm-border);
  box-shadow: 4px 4px 0 var(--fm-primary);
  margin-top: 20px;
}
.fm-hehun-form-dual {
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr;
}
@media (min-width: 480px) {
  .fm-hehun-form-dual { grid-template-columns: 1fr 1fr; }
}
.fm-hehun-person h3 {
  font-size: 1rem;
  color: var(--fm-primary);
  margin: 0 0 12px;
}
.fm-hehun-tag {
  display: inline-block;
  font-size: .75rem;
  padding: 2px 8px;
  background: var(--fm-accent);
  color: #fff;
  font-weight: 400;
}
.fm-hehun-field {
  margin-bottom: 12px;
}
.fm-hehun-field label {
  display: block;
  font-size: .85rem;
  font-weight: 600;
  margin-bottom: 4px;
  color: var(--fm-text);
}
.fm-hehun-field input,
.fm-hehun-field select {
  width: 100%;
  padding: 10px;
  font-size: 16px;
  border: 1px solid var(--fm-border);
  background: #fff;
  min-height: 44px;
  color: var(--fm-text);
}
.fm-hehun-date-row,
.fm-hehun-time-row {
  display: grid;
  gap: 8px;
}
.fm-hehun-date-row { grid-template-columns: 2fr 1fr 1fr; }
.fm-hehun-time-row { grid-template-columns: 1fr 1fr; }
.fm-hehun-submit {
  width: 100%;
  margin-top: 8px;
  padding: 14px;
  font-size: 1rem;
  font-weight: 600;
  background: var(--fm-primary);
  color: #fff;
  border: none;
  cursor: pointer;
  box-shadow: 4px 4px 0 var(--fm-accent);
}
.fm-hehun-submit:hover { background: var(--fm-accent); }

/* 结果区 */
#fm-calc-result {
  scroll-margin-top: 16px;
  outline: none;
}
.fm-hehun-error {
  background: #fff3e0;
  border: 1px solid #ffb74d;
  padding: 12px;
  margin: 16px 0;
  text-align: center;
  color: #e65100;
}
.fm-hehun-result-card {
  background: var(--fm-surface);
  border: 1px solid var(--fm-border);
  box-shadow: 4px 4px 0 var(--fm-primary);
  padding: 24px;
  text-align: center;
  margin: 16px 0;
}
.fm-hehun-result-card h2 {
  font-size: 1.1rem;
  color: var(--fm-primary);
  margin: 0 0 8px;
}
.fm-hehun-result-names {
  font-size: .9rem;
  color: var(--fm-muted);
  margin-bottom: 12px;
}
.fm-hehun-score {
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--fm-accent);
  line-height: 1;
}
.fm-hehun-score span {
  font-size: 1rem;
  font-weight: 400;
}
.fm-hehun-level {
  font-size: 1rem;
  color: var(--fm-muted);
  margin-top: 4px;
}
.fm-hehun-summary {
  font-size: .9rem;
  margin: 12px 0 0;
  color: var(--fm-text);
  line-height: 1.6;
}

/* 八字卡 */
.fm-hehun-pillars {
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 16px;
}
@media (max-width: 480px) {
  .fm-hehun-pillars { grid-template-columns: 1fr; }
}
.fm-hehun-pillar-card {
  background: var(--fm-surface);
  border: 1px solid var(--fm-border);
  box-shadow: 4px 4px 0 var(--fm-primary);
  padding: 16px;
}
.fm-hehun-pillar-card h3 {
  font-size: .9rem;
  color: var(--fm-primary);
  margin: 0 0 8px;
  text-align: center;
}
.fm-hehun-bazi-line {
  font-size: .85rem;
  color: var(--fm-muted);
  text-align: center;
  margin: 0 0 8px;
}
.fm-hehun-bazi-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
  margin-bottom: 8px;
}
.fm-hehun-bazi-meta span {
  font-size: .75rem;
  padding: 2px 6px;
  background: var(--fm-bg);
  border: 1px solid var(--fm-border);
}
.fm-hehun-pillar-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
}
.fm-hehun-pillar {
  text-align: center;
  padding: 6px 2px;
  background: var(--fm-bg);
  border: 1px solid var(--fm-border);
}
.fm-hehun-pillar label {
  display: block;
  font-size: .7rem;
  color: var(--fm-muted);
  margin-bottom: 2px;
}
.fm-hehun-pillar-gz {
  display: block;
  font-size: .9rem;
  font-weight: 600;
  color: var(--fm-primary);
}
.fm-hehun-pillar-wx {
  display: block;
  font-size: .75rem;
  color: var(--fm-accent);
}

/* 维度分析 */
.fm-hehun-details {
  margin: 16px 0;
}
.fm-hehun-details h2 {
  font-size: 1.1rem;
  color: var(--fm-primary);
  margin: 0 0 12px;
}
.fm-hehun-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr;
}
@media (min-width: 480px) {
  .fm-hehun-grid { grid-template-columns: repeat(2, 1fr); }
}
.fm-hehun-card {
  background: var(--fm-surface);
  border: 1px solid var(--fm-border);
  box-shadow: 4px 4px 0 var(--fm-primary);
  padding: 14px;
}
.fm-hehun-card-hd {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.fm-hehun-card-hd h3 {
  font-size: .9rem;
  color: var(--fm-primary);
  margin: 0;
}
.fm-hehun-card-score {
  font-size: .85rem;
  font-weight: 600;
  color: var(--fm-accent);
}
.fm-hehun-card-result {
  font-size: .85rem;
  color: var(--fm-primary);
  font-weight: 600;
  margin-bottom: 6px;
}
.fm-hehun-card p {
  font-size: .85rem;
  margin: 0;
  color: var(--fm-text);
  line-height: 1.5;
}

/* 广告 */
.fm-hehun-ad-script {
  margin: 20px 0;
  padding: 20px;
  background: var(--fm-surface);
  border: 1px solid var(--fm-border);
  box-shadow: 4px 4px 0 var(--fm-primary);
  text-align: center;
}
.fm-hehun-ad-icons {
  background: var(--fm-surface);
  border: 1px solid var(--fm-border);
  box-shadow: 4px 4px 0 var(--fm-primary);
  padding: 16px;
  margin-bottom: 20px;
}
.fm-hehun-ad-lead {
  text-align: center;
  font-size: .85rem;
  color: var(--fm-primary);
  margin: 0 0 12px;
}
.fm-hehun-ad-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
@media (max-width: 480px) {
  .fm-hehun-ad-grid { grid-template-columns: repeat(2, 1fr); }
}
.fm-hehun-ad-grid a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: var(--fm-text);
  padding: 8px;
  border: 1px solid var(--fm-border);
}
.fm-hehun-ad-grid img {
  width: 40px;
  height: 40px;
  margin-bottom: 4px;
}
.fm-hehun-ad-grid span {
  font-size: .78rem;
  text-align: center;
}

/* 黄历 */
.fm-hehun-huangli {
  background: var(--fm-surface);
  border: 1px solid var(--fm-border);
  box-shadow: 4px 4px 0 var(--fm-primary);
  padding: 16px;
  margin-bottom: 20px;
}
.fm-hehun-huangli h2 {
  font-size: 1rem;
  color: var(--fm-primary);
  margin: 0 0 12px;
  text-align: center;
}
.fm-hehun-hl-date {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-bottom: 8px;
}
.fm-hehun-hl-badge {
  display: inline-block;
  padding: 4px 10px;
  background: var(--fm-primary);
  color: #fff;
  font-size: .82rem;
  font-weight: 600;
}
.fm-hehun-hl-ts {
  text-align: center;
  font-size: .82rem;
  color: var(--fm-accent);
  margin-bottom: 8px;
}
.fm-hehun-hl-row {
  font-size: .85rem;
  padding: 5px 0;
  border-bottom: 1px dashed var(--fm-border);
}
.fm-hehun-hl-yiji {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}
.fm-hehun-hl-yi label,
.fm-hehun-hl-ji label {
  display: inline-block;
  font-size: .8rem;
  font-weight: 600;
  padding: 2px 6px;
  margin-right: 6px;
}
.fm-hehun-hl-yi label {
  background: #e8f5e9;
  color: #2e7d32;
}
.fm-hehun-hl-ji label {
  background: #ffebee;
  color: #c62828;
}
.fm-hehun-hl-yi {
  color: #2e7d32;
  font-size: .85rem;
  line-height: 1.6;
}
.fm-hehun-hl-ji {
  color: #c62828;
  font-size: .85rem;
  line-height: 1.6;
}
.fm-hehun-hl-gods {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-top: 12px;
}
.fm-hehun-hl-gods div {
  text-align: center;
  padding: 6px;
  background: var(--fm-bg);
  border: 1px solid var(--fm-border);
}
.fm-hehun-hl-gods i {
  font-style: normal;
  font-size: .75rem;
  color: var(--fm-muted);
  margin-right: 4px;
}
.fm-hehun-hl-gods b {
  font-size: .85rem;
  color: var(--fm-primary);
}
.fm-hehun-hl-detail {
  margin-top: 12px;
  font-size: .8rem;
  color: var(--fm-muted);
}
.fm-hehun-hl-detail div {
  padding: 4px 0;
  border-bottom: 1px dashed var(--fm-border);
}
.fm-hehun-hl-detail dt {
  display: inline;
  font-weight: 600;
  color: var(--fm-text);
}
.fm-hehun-hl-detail dd {
  display: inline;
  margin: 0;
}
.fm-hehun-hl-detail em {
  font-style: normal;
  color: var(--fm-muted);
}

/* 内容区 */
.fm-hehun-lead {
  margin: 20px 0;
  padding: 20px;
  background: var(--fm-surface);
  border: 1px solid var(--fm-border);
  box-shadow: 4px 4px 0 var(--fm-primary);
  font-size: 1rem;
  color: var(--fm-text);
  line-height: 1.8;
}
.fm-hehun-paragraphs,
.fm-hehun-articles,
.fm-hehun-principles,
.fm-hehun-tips {
  margin: 20px 0;
  padding: 20px;
  background: var(--fm-surface);
  border: 1px solid var(--fm-border);
  box-shadow: 4px 4px 0 var(--fm-primary);
}
.fm-hehun-paragraphs h2,
.fm-hehun-articles h2,
.fm-hehun-principles h2,
.fm-hehun-tips h2 {
  font-size: 1.1rem;
  color: var(--fm-primary);
  margin: 0 0 12px;
}
.fm-hehun-paragraphs p {
  margin: 0 0 8px;
  line-height: 1.8;
}
.fm-hehun-article {
  background: var(--fm-surface);
  border: 1px solid var(--fm-border);
  box-shadow: 4px 4px 0 var(--fm-primary);
  padding: 16px;
  margin-bottom: 12px;
}
.fm-hehun-article h3 {
  font-size: 1rem;
  color: var(--fm-primary);
  margin: 0 0 8px;
}
.fm-hehun-article-sub {
  font-size: .85rem;
  color: var(--fm-muted);
  margin: 0 0 8px;
}
.fm-hehun-article p {
  font-size: .9rem;
  margin: 0 0 6px;
  line-height: 1.7;
}
.fm-hehun-principles ul {
  margin: 0;
  padding-left: 20px;
}
.fm-hehun-principles li {
  margin-bottom: 6px;
  line-height: 1.6;
}
.fm-hehun-tips p {
  margin: 0 0 6px;
  font-size: .9rem;
  line-height: 1.6;
}

/* FAQ */
.fm-hehun-faq {
  margin: 24px 0;
}
.fm-hehun-faq h2 {
  font-size: 1.1rem;
  color: var(--fm-primary);
  margin: 0 0 12px;
}
.fm-hehun-faq-item {
  background: var(--fm-surface);
  border: 1px solid var(--fm-border);
  margin-bottom: 8px;
}
.fm-hehun-faq-item summary {
  padding: 12px;
  font-weight: 600;
  color: var(--fm-primary);
  cursor: pointer;
  list-style: none;
}
.fm-hehun-faq-item summary::before {
  content: '▸ ';
}
.fm-hehun-faq-item[open] summary::before {
  content: '▾ ';
}
.fm-hehun-faq-item p {
  padding: 0 12px 12px;
  font-size: .9rem;
  margin: 0;
  line-height: 1.7;
}

/* 链轮 */
.fm-hehun-wheel {
  margin: 24px 0;
}
.fm-hehun-wheel h2 {
  font-size: 1.1rem;
  color: var(--fm-primary);
  margin: 0 0 12px;
}
.fm-hehun-wheel-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr;
}
@media (min-width: 480px) {
  .fm-hehun-wheel-grid { grid-template-columns: repeat(2, 1fr); }
}
.fm-hehun-wheel-card {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--fm-surface);
  border: 1px solid var(--fm-border);
  box-shadow: 4px 4px 0 var(--fm-primary);
  padding: 10px;
  text-decoration: none;
  color: var(--fm-text);
}
.fm-hehun-wheel-card img {
  width: 50px;
  height: 50px;
  object-fit: cover;
  flex-shrink: 0;
}
.fm-hehun-wheel-card span {
  font-size: .85rem;
  line-height: 1.4;
}

/* 页脚 */
.fm-hehun-foot {
  margin-top: 32px;
  padding: 16px 0;
  border-top: 1px solid var(--fm-border);
  text-align: center;
  font-size: .78rem;
  color: var(--fm-muted);
  line-height: 1.8;
}
.fm-hehun-foot p { margin: 4px 0; }
.fm-hehun-foot a { color: var(--fm-primary); text-decoration: none; }
