/* fm_haoma_01 - 朱红节庆 · 柔和新态 · 900px */
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}

/* CSS 变量 */
.fm-haoma {
  --fm-max-w: 900px;
  --fm-radius: 20px;
  --fm-bg: #fdf5f3;
  --fm-surface: #ffffff;
  --fm-primary: #b71c1c;
  --fm-accent: #ff6f00;
  --fm-text: #4a1515;
  --fm-muted: #8d6e63;
  --fm-border: #ffcdd2;
  --fm-hero-from: #7f0000;
  --fm-hero-to: #c62828;
}

/* 基础 */
.fm-haoma{font-family:"PingFang SC","Microsoft YaHei",sans-serif;background:var(--fm-bg);color:var(--fm-text);min-height:100vh;display:flex}
.fm-haoma *{box-sizing:border-box}
.fm-haoma a{color:var(--fm-primary);text-decoration:none}
.fm-haoma a:hover{color:var(--fm-accent)}
#fm-calc-result{scroll-margin-top:80px;outline:none}

/* 侧边导航 */
.fm-haoma-side{
  position:fixed;
  left:0;top:50%;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px;
  z-index:100;
}
.fm-haoma-side-link{
  display:block;
  padding:10px 16px;
  font-size:.82rem;
  color:var(--fm-muted);
  background:var(--fm-surface);
  border:1px solid var(--fm-border);
  border-radius:var(--fm-radius);
  text-decoration:none;
  transition:all .2s;
  white-space:nowrap;
}
.fm-haoma-side-link:hover,
.fm-haoma-side-link.active{
  color:var(--fm-primary);
  border-color:var(--fm-primary);
  background:#fff5f5;
}

/* 主内容区 */
.fm-haoma-main{
  flex:1;
  max-width:var(--fm-max-w);
  margin:0 auto;
  padding:0 16px 48px;
}

/* Hero */
.fm-haoma-hero{
  background:linear-gradient(135deg,var(--fm-hero-from),var(--fm-hero-to));
  border-radius:var(--fm-radius);
  padding:32px 28px;
  margin-top:20px;
  color:#fff;
  text-align:center;
}
.fm-haoma-hero-tag{
  display:inline-block;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.1em;
  color:#ffe8a8;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.2);
  padding:5px 16px;
  border-radius:999px;
  margin-bottom:14px;
}
.fm-haoma-hero h1{font-size:1.6rem;font-weight:800;margin:0 0 10px}
.fm-haoma-hero-sub{font-size:.88rem;color:rgba(255,255,255,.88);margin:0}

/* 面包屑 */
.fm-haoma-crumb{
  display:flex;
  align-items:center;
  gap:0;
  padding:16px 0;
  font-size:.82rem;
  color:var(--fm-muted);
}
.fm-haoma-crumb a{
  padding:4px 10px;
  background:var(--fm-surface);
  border:1px solid var(--fm-border);
  border-radius:6px;
}
.fm-haoma-crumb a:hover{background:#fff5f5}
.fm-haoma-crumb span{color:var(--fm-primary);padding:0 8px}
.fm-haoma-crumb em{font-style:normal;padding:4px 10px;background:#fff5f5;border:1px solid var(--fm-border);border-radius:6px}

/* 测算表单 */
.fm-haoma-form-section{
  background:var(--fm-surface);
  border-radius:var(--fm-radius);
  border:1px solid var(--fm-border);
  padding:28px;
  margin-bottom:20px;
}
.fm-haoma-form-header{margin-bottom:20px}
.fm-haoma-form-step{
  display:inline-block;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.15em;
  color:var(--fm-accent);
  margin-bottom:8px;
}
.fm-haoma-form-header h2{font-size:1.3rem;font-weight:800;margin:0 0 10px;color:var(--fm-primary)}
.fm-haoma-form-tip{font-size:.84rem;color:var(--fm-muted);margin:0;line-height:1.7}

/* 表单主体 - 融合式输入区 */
.fm-haoma-form{
  background:#fdf5f3;
  border-radius:14px;
  padding:20px;
  display:flex;
  gap:14px;
  align-items:flex-end;
  flex-wrap:wrap;
}
.fm-haoma-field{flex:1;min-width:180px}
.fm-haoma-field label{
  display:block;
  font-size:.78rem;
  font-weight:700;
  color:var(--fm-primary);
  margin-bottom:8px;
  letter-spacing:.04em;
}
.fm-haoma-field input{
  width:100%;
  padding:14px 18px;
  border:2px solid var(--fm-border);
  border-radius:12px;
  font-size:1rem;
  font-weight:700;
  letter-spacing:.05em;
  background:var(--fm-surface);
  color:var(--fm-text);
  transition:border-color .25s,box-shadow .25s;
}
.fm-haoma-field input:focus{
  outline:none;
  border-color:var(--fm-accent);
  box-shadow:0 0 0 4px rgba(255,111,0,.12);
}
.fm-haoma-submit{
  padding:14px 32px;
  border:0;
  border-radius:12px;
  background:linear-gradient(135deg,var(--fm-primary),var(--fm-hero-to));
  color:#fff;
  font-size:1rem;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
  min-height:52px;
  box-shadow:0 6px 20px rgba(183,28,28,.25);
  transition:all .25s;
}
.fm-haoma-submit:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(183,28,28,.35)}
.fm-haoma-submit:active{transform:translateY(0)}

/* 表单辅助说明 - 徽章式 */
.fm-haoma-form-points{
  list-style:none;
  margin:16px 0 0;
  padding:0;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.fm-haoma-form-points li{
  font-size:.76rem;
  color:var(--fm-muted);
  background:#fdf5f3;
  border:1px solid var(--fm-border);
  border-radius:999px;
  padding:4px 14px;
}

/* 测算结果 */
.fm-haoma-error{
  background:#fff5f5;
  border:1px solid var(--fm-border);
  border-radius:12px;
  padding:18px;
  color:var(--fm-primary);
  margin-bottom:20px;
}
.fm-haoma-result{
  background:var(--fm-surface);
  border-radius:var(--fm-radius);
  overflow:hidden;
  margin-bottom:20px;
  box-shadow:0 8px 32px rgba(183,28,28,.08);
}
.fm-haoma-result-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:28px;
  background:linear-gradient(135deg,var(--fm-hero-from),var(--fm-hero-to));
  color:#fff;
  flex-wrap:wrap;
}
.fm-haoma-result-step{
  display:inline-block;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.15em;
  color:#ffe8a8;
  margin-bottom:8px;
}
.fm-haoma-result-banner h2{font-size:1.3rem;font-weight:800;margin:0 0 8px}
.fm-haoma-result-number{
  font-size:1.1rem;
  font-weight:800;
  letter-spacing:.08em;
  font-family:Consolas,"Courier New",monospace;
}
.fm-haoma-score{display:flex;flex-direction:column;align-items:center;gap:10px}
.fm-haoma-score-dial{position:relative;width:120px;height:120px}
.fm-haoma-score-dial svg{width:100%;height:100%;transform:rotate(-90deg)}
.fm-haoma-score-track{fill:none;stroke:rgba(255,255,255,.15);stroke-width:8}
.fm-haoma-score-fill{fill:none;stroke:#ffe8a8;stroke-width:8;stroke-linecap:round;stroke-dasharray:327;stroke-dashoffset:calc(327 - (327 * var(--pct,75) / 100))}
.fm-haoma-score-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.fm-haoma-score-center b{font-size:2rem;font-weight:900;color:#fff;line-height:1}
.fm-haoma-score-center span{font-size:.72rem;color:rgba(255,255,255,.7);margin-top:4px}
.fm-haoma-score-badge{
  font-style:normal;
  font-size:.78rem;
  font-weight:800;
  color:var(--fm-primary);
  background:#ffe8a8;
  padding:5px 16px;
  border-radius:999px;
}
.fm-haoma-result-body{
  padding:24px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.fm-haoma-panel{
  background:#fff5f5;
  border:1px solid var(--fm-border);
  border-radius:16px;
  padding:20px;
}
.fm-haoma-panel h3{font-size:1rem;font-weight:800;color:var(--fm-primary);margin:0 0 12px}
.fm-haoma-panel p{margin:0 0 8px;font-size:.86rem;line-height:1.7;color:var(--fm-text)}
.fm-haoma-panel-sub{color:var(--fm-muted);font-size:.82rem}
.fm-haoma-panel-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
}
.fm-haoma-panel-meta span{
  font-size:.75rem;
  font-weight:700;
  color:var(--fm-muted);
  background:var(--fm-surface);
  border:1px solid var(--fm-border);
  padding:4px 12px;
  border-radius:999px;
}
.fm-haoma-panel-meta b{color:var(--fm-primary);font-size:.88rem}
.fm-haoma-panel-meta strong{font-size:1.1rem;font-weight:800;color:var(--fm-primary)}
.fm-haoma-panel-meta em{font-style:normal;font-size:.75rem;font-weight:800;color:var(--fm-primary);background:#ffebee;padding:3px 10px;border-radius:999px}
.fm-haoma-panel-tags{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.fm-haoma-panel-tags span{
  font-size:.82rem;
  line-height:1.6;
  background:var(--fm-surface);
  border:1px solid var(--fm-border);
  border-radius:10px;
  padding:10px 12px;
}
.fm-haoma-panel-tags i{font-style:normal;font-size:.72rem;font-weight:800;color:var(--fm-accent);margin-right:6px}
.fm-haoma-features{margin:0;padding:0 0 0 18px}
.fm-haoma-features li{margin-bottom:6px;font-size:.86rem;line-height:1.6;color:var(--fm-text)}

/* 广告位 */
.fm-haoma-ad-script{background:var(--fm-surface);border-radius:var(--fm-radius);border:1px solid var(--fm-border);padding:20px;margin-bottom:16px}
.fm-haoma-ad-icons{
  background:var(--fm-surface);
  border-radius:var(--fm-radius);
  border:1px solid var(--fm-border);
  padding:20px;
  margin-bottom:20px;
}
.fm-haoma-ad-lead{font-size:.88rem;color:var(--fm-primary);font-weight:600;text-align:center;margin:0 0 14px}
.fm-haoma-ad-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.fm-haoma-ad-grid a{
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:12px 8px;
  background:#fff5f5;
  border:1px solid var(--fm-border);
  border-radius:12px;
  text-decoration:none;
  transition:all .2s;
}
.fm-haoma-ad-grid a:hover{border-color:var(--fm-primary);box-shadow:0 4px 12px rgba(183,28,28,.1)}
.fm-haoma-ad-grid img{width:64px;height:64px;border-radius:50%;object-fit:cover;margin-bottom:8px;border:2px solid var(--fm-border)}
.fm-haoma-ad-grid span{font-size:.75rem;color:var(--fm-text);text-align:center}

/* 今日黄历 Lite — 朱红新中式 */
.fm-haoma-hl{
  background:var(--fm-surface);
  border-radius:var(--fm-radius);
  border:1px solid var(--fm-border);
  overflow:hidden;
  margin-bottom:20px;
}

/* 头部 —— 朱红渐变 */
.fm-haoma-hl-top{
  display:flex;
  gap:14px;
  align-items:center;
  padding:18px 20px;
  background:linear-gradient(135deg,var(--fm-hero-from),var(--fm-hero-to));
  color:#fff;
}
.fm-haoma-hl-badge{
  flex-shrink:0;
  width:60px;
  text-align:center;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  aspect-ratio:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:6px;
}
.fm-haoma-hl-badge b{display:block;font-size:22px;font-weight:800;line-height:1.1;color:#ffd54f}
.fm-haoma-hl-badge span{display:block;font-size:11px;margin-top:2px;opacity:.9}
.fm-haoma-hl-top-text{min-width:0}
.fm-haoma-hl-top-text h2{margin:0 0 4px;font-size:17px;font-weight:800;letter-spacing:.04em}
.fm-haoma-hl-top-text p{margin:0;font-size:12px;color:rgba(255,255,255,.85);line-height:1.45}

/* 主体区 */
.fm-haoma-hl-main{padding:0 20px 18px}

/* 公历日期 */
.fm-haoma-hl-date{padding:16px 0 12px;border-bottom:1px dashed var(--fm-border)}
.fm-haoma-hl-date-row{margin:0 0 4px}
.fm-haoma-hl-date-row strong{font-size:16px;font-weight:800;color:var(--fm-text)}
.fm-haoma-hl-date-row:last-child{margin:0;font-size:13px;color:var(--fm-muted)}

/* 四柱标签 */
.fm-haoma-hl-pillars{display:flex;flex-wrap:wrap;gap:6px;padding:12px 0 0}
.fm-haoma-hl-pillars span{font-size:12px;font-weight:700;color:var(--fm-primary);background:#fff5f5;border:1px solid var(--fm-border);border-radius:999px;padding:5px 12px}

/* 宜忌 */
.fm-haoma-hl-yiji{padding:14px 0;border-bottom:1px dashed var(--fm-border)}
.fm-haoma-hl-yi,.fm-haoma-hl-ji{margin-bottom:10px;display:flex;gap:10px;align-items:flex-start}
.fm-haoma-hl-ji{margin-bottom:0}
.fm-haoma-hl-yi label,.fm-haoma-hl-ji label{flex-shrink:0;display:inline-block;font-size:12px;font-weight:800;color:#fff;padding:3px 12px;border-radius:6px;min-width:2.5em;text-align:center}
.fm-haoma-hl-yi label{background:#2e7d32}
.fm-haoma-hl-ji label{background:#c62828}
.fm-haoma-hl-tags{font-size:13px;line-height:1.55;color:var(--fm-text);word-break:break-all}
.fm-haoma-hl-tags span{display:inline-block;margin:0 4px 4px 0;padding:3px 10px;border-radius:8px;font-size:12px;background:#e8f5e9;color:#2e7d32}
.fm-haoma-hl-ji .fm-haoma-hl-tags span{background:#ffebee;color:#c62828}

/* 神煞 — 4 列卡片 */
.fm-haoma-hl-gods{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:14px 0;border-bottom:1px dashed var(--fm-border)}
.fm-haoma-hl-god{text-align:center;background:#fff5f5;border:1px solid var(--fm-border);border-radius:12px;padding:12px 6px}
.fm-haoma-hl-god--wide{grid-column:1/-1}
.fm-haoma-hl-god i{display:block;width:28px;height:28px;line-height:28px;margin:0 auto 8px;border-radius:50%;font-style:normal;font-size:13px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--fm-accent),var(--fm-primary))}
.fm-haoma-hl-god b{display:block;font-size:12px;font-weight:600;color:var(--fm-text);line-height:1.4;word-break:break-all}

/* 详情 —— 两列简洁 */
.fm-haoma-hl-detail{margin:0;padding:12px 0 0}
.fm-haoma-hl-row{display:grid;grid-template-columns:4.8em 1fr;gap:8px;padding:10px 0;border-top:1px solid #f5ece8}
.fm-haoma-hl-row:first-child{border-top:0;padding-top:0}
.fm-haoma-hl-row dt{margin:0;font-size:13px;font-weight:800;color:var(--fm-primary);line-height:1.5}
.fm-haoma-hl-row dd{margin:0;font-size:13px;color:var(--fm-text);line-height:1.5;word-break:break-all}
.fm-haoma-hl-row dd em{display:block;margin-top:3px;font-style:normal;color:var(--fm-muted);font-size:12px}
.fm-haoma-hl-row--ji dd{color:#2e7d32}
.fm-haoma-hl-row--xiong dd{color:#c62828}

/* 导语 */
.fm-haoma-lead{
  background:var(--fm-surface);
  border-radius:var(--fm-radius);

  padding:18px 20px;
  margin-bottom:20px;
  font-size:.88rem;
  color:var(--fm-text);
  line-height:1.7;
}

/* 文章带图 */
.fm-haoma-article-item{display:flex;flex-direction:column;gap:14px;padding:16px 0}
.fm-haoma-article-item:first-of-type{padding-top:0}
.fm-haoma-article-img{flex-shrink:0}
.fm-haoma-article-img img{width:100%;height:180px;object-fit:cover;border-radius:12px}
.fm-haoma-article-text{flex:1;min-width:0}
@media(min-width:600px){.fm-haoma-article-item{flex-direction:row;align-items:flex-start}.fm-haoma-article-img img{width:200px;height:140px}}

/* 知识文章 */
.fm-haoma-knowledge{
  background:var(--fm-surface);
  border-radius:var(--fm-radius);
  border:1px solid var(--fm-border);
  padding:24px;
  margin-bottom:16px;
}
.fm-haoma-knowledge header{margin-bottom:18px;padding-bottom:14px;border-bottom:2px solid var(--fm-border)}
.fm-haoma-knowledge h2{font-size:1.1rem;color:var(--fm-primary);margin:0 0 6px;font-weight:800}
.fm-haoma-knowledge header p{font-size:.82rem;color:var(--fm-muted);margin:0}
.fm-haoma-knowledge article{padding:16px 0;border-top:1px dashed #ffcdd2}
.fm-haoma-knowledge article:first-of-type{border-top:0;padding-top:0}
.fm-haoma-knowledge h3{font-size:.96rem;color:var(--fm-text);margin:0 0 6px;font-weight:700}
.fm-haoma-knowledge-sub{font-size:.78rem;color:var(--fm-primary);margin:0 0 10px}
.fm-haoma-knowledge p{font-size:.86rem;color:var(--fm-text);line-height:1.75;margin:0 0 10px;text-align:justify}
.fm-haoma-knowledge p:last-child{margin-bottom:0}

/* 内容区块 */
.fm-haoma-block{
  background:var(--fm-surface);
  border-radius:var(--fm-radius);
  border:1px solid var(--fm-border);
  padding:20px;
  margin-bottom:16px;
}
.fm-haoma-block h3{font-size:.96rem;color:var(--fm-primary);margin:0 0 14px;font-weight:700}
.fm-haoma-block ul{margin:0;padding-left:18px}
.fm-haoma-block li{margin-bottom:8px;font-size:.86rem;line-height:1.65;color:var(--fm-text)}
.fm-haoma-block p{font-size:.86rem;line-height:1.75;margin:0 0 10px;color:var(--fm-text)}

/* FAQ */
.fm-haoma-faq-item{
  border-top:1px solid #faf5f0;
  padding:12px 0;
}
.fm-haoma-faq-item:first-of-type{border-top:0}
.fm-haoma-faq-item summary{
  font-size:.88rem;
  color:var(--fm-text);
  cursor:pointer;
  font-weight:600;
  list-style:none;
  padding-left:24px;
  position:relative;
}
.fm-haoma-faq-item summary::-webkit-details-marker{display:none}
.fm-haoma-faq-item summary::before{
  content:counter(faq) ".";
  counter-increment:faq;
  position:absolute;
  left:0;
  color:var(--fm-primary);
  font-weight:800;
}
#fm-haoma-faq{counter-reset:faq}
.fm-haoma-faq-item p{margin:10px 0 0 24px;font-size:.84rem;color:var(--fm-muted);line-height:1.6}

/* 链轮 */
.fm-haoma-wheel{
  background:var(--fm-surface);
  border-radius:var(--fm-radius);
  border:1px solid var(--fm-border);
  padding:20px;
  margin-bottom:20px;
}
.fm-haoma-wheel h3{font-size:.92rem;color:var(--fm-primary);margin:0 0 14px;font-weight:700}
.fm-haoma-wheel-tags{display:flex;flex-wrap:wrap;gap:8px}
.fm-haoma-wheel-tags a{
  display:inline-block;
  font-size:.82rem;
  color:var(--fm-text);
  background:#fff5f5;
  border:1px solid var(--fm-border);
  border-radius:999px;
  padding:8px 16px;
  text-decoration:none;
  transition:all .2s;
}
.fm-haoma-wheel-tags a:hover{color:#fff;background:var(--fm-primary);border-color:var(--fm-primary)}

/* 页脚 */
.fm-haoma-foot{text-align:center;padding:24px 0;font-size:.76rem;color:var(--fm-muted);line-height:1.8}
.fm-haoma-foot p{margin:4px 0}
.fm-haoma-foot a{color:var(--fm-primary)}

/* 响应式 */
@media(max-width:960px){
  .fm-haoma-side{display:none}
  .fm-haoma-main{padding:0 16px 48px}
}
@media(max-width:768px){
  .fm-haoma-hero{padding:24px 20px}
  .fm-haoma-hero h1{font-size:1.3rem}
  .fm-haoma-form-section{padding:20px}
  .fm-haoma-form{flex-direction:column}
  .fm-haoma-field{width:100%}
  .fm-haoma-submit{width:100%}
  .fm-haoma-result-banner{flex-direction:column;align-items:flex-start}
  .fm-haoma-result-body{grid-template-columns:1fr}
  .fm-haoma-ad-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:480px){
  .fm-haoma{font-size:14px}
  .fm-haoma-main{padding:0 12px 32px}
  .fm-haoma-form-points{flex-direction:column;gap:8px}
  .fm-haoma-ad-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .fm-haoma-ad-grid img{width:56px;height:56px}
}
