:root {
  --paper: #F6F2E8;
  --paper-2: #FFFDF8;
  --ink: #241F1A;
  --ink-2: #5B5348;
  --ink-3: #8A8073;
  --green: #1F4E46;
  --green-2: #2F6B60;
  --green-3: #E4EDE9;
  --cinnabar: #A8300F;
  --cinnabar-2: #C1532B;
  --gold: #A9873F;
  --gold-3: #F4EBDA;
  --line: #DDD4C2;
  --line-2: #EAE3D4;
  --r: 10px;
  --shadow: 0 1px 2px rgba(36, 31, 26, .04), 0 8px 28px rgba(36, 31, 26, .07);
  --shadow-lg: 0 2px 6px rgba(36, 31, 26, .06), 0 18px 48px rgba(36, 31, 26, .10);
  --serif: "Songti SC", "STSong", "SimSun", "Noto Serif CJK SC", "Source Han Serif SC", serif;
  --sans: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 70px; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.78;
  background-image:
    radial-gradient(circle at 12% 6%, rgba(169, 135, 63, .07), transparent 40%),
    radial-gradient(circle at 88% 18%, rgba(31, 78, 70, .06), transparent 36%);
  background-attachment: fixed;
}
.ink-bg{position:fixed;inset:0;z-index:-2;background:#edf7f2 url('../img/ink-landscape.svg') center top/cover no-repeat;opacity:.96}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(250,255,252,.12),rgba(239,248,243,.4) 42%,rgba(235,247,241,.68))}
.wrap { max-width: 960px; margin: 0 auto; padding: 0 20px 80px; }

/* ---------- header ---------- */
.hd {
  position: sticky; top: 0; z-index: 50;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 253, 248, .88);
  backdrop-filter: saturate(140%) blur(10px);
}
.hd-in { max-width: 920px; margin: 0 auto; padding: 12px 20px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.logo-mark {
  width: 36px; height: 36px; flex: none;
  border: 1px solid var(--green); color: var(--green);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--serif); font-size: 19px; border-radius: 4px;
  background: linear-gradient(145deg, rgba(31,78,70,.06), transparent);
}
.logo-txt { font-family: var(--serif); font-size: 20px; letter-spacing: 3px; color: var(--green); line-height: 1.2; }
.logo-sub { font-size: 11.5px; color: var(--ink-3); letter-spacing: .6px; }
.hd nav { display: flex; gap: 4px; }
.hd nav a {
  color: var(--ink-2); text-decoration: none; font-size: 14px;
  padding: 6px 12px; border-radius: 20px; transition: .18s;
}
.hd nav a:hover { color: var(--green); background: var(--green-3); }

/* ---------- hero ---------- */
.hero { padding: 72px 20px 46px; text-align: center; position:relative; }
.hero::before{content:"";position:absolute;inset:32px 2% 18px;border:1px solid rgba(255,255,255,.82);border-radius:28px;background:rgba(255,255,255,.32);box-shadow:0 20px 70px rgba(33,105,92,.09);backdrop-filter:blur(5px);z-index:-1}
.hero-kicker,.section-tag{font-family:var(--serif);color:var(--green);letter-spacing:4px;font-size:14px;margin-bottom:10px}
.hero h1 {
  font-family: var(--serif); font-size: 52px; line-height: 1.3; margin: 0 0 16px;
  color: var(--green); letter-spacing: 8px; font-weight: 600; text-shadow:0 2px #fff;
}
.hero p.lead { margin: 0 auto; max-width: 640px; color: var(--ink-2); font-size: 15.5px; }
.hero .seal {
  display: inline-block; margin-top: 22px; padding: 5px 16px;
  border: 1px solid var(--cinnabar); color: var(--cinnabar);
  font-family: var(--serif); font-size: 12.5px; letter-spacing: 3px; border-radius: 3px;
  background: rgba(168, 48, 15, .05);
}
.points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; margin: 34px auto 0; max-width:820px; }
.point {
  background: rgba(255,255,255,.72); border: 1px solid rgba(255,255,255,.9); border-radius: 16px;
  padding: 18px 15px; text-align: center; transition: .2s;box-shadow:0 8px 24px rgba(39,102,91,.07);backdrop-filter:blur(8px);
}
.point-icon{display:grid!important;place-items:center;width:38px;height:38px;margin:0 auto 9px;border:1px solid var(--gold);border-radius:50%;font-family:var(--serif);font-size:16px!important;color:var(--green)!important;background:#fffdf4}
.point:hover { transform: translateY(-2px); box-shadow: var(--shadow); border-color: var(--line); }
.point b { display: block; font-family: var(--serif); font-size: 15.5px; color: var(--green); margin-bottom: 6px; letter-spacing: 1px; }
.point span { font-size: 13px; color: var(--ink-2); line-height: 1.7; }

/* ---------- card ---------- */
.card {
  background: rgba(255,255,255,.86); border: 1px solid rgba(255,255,255,.92);
  border-radius: 20px; box-shadow:0 14px 45px rgba(28,94,82,.1); padding:32px 36px; margin-top:28px;backdrop-filter:blur(12px);
}
.section-tag{text-align:center;font-size:13px;margin-bottom:3px}
#formCard>h2,#leadCard>h2{text-align:center}
.card > h2 {
  font-family: var(--serif); font-size: 22px; color: var(--green); margin: 0 0 6px;
  letter-spacing: 2px; font-weight: 500;
}
.card > .cap { font-size: 13px; color: var(--ink-3); margin: 0 0 22px; }

/* ---------- form ---------- */
.seg { display: inline-flex; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.seg button {
  border: 0; background: transparent; padding: 7px 20px; font-size: 14px;
  color: var(--ink-2); cursor: pointer; font-family: var(--sans); transition: .15s;
}
.seg button:hover { background: rgba(31,78,70,.05); }
.seg button.on { background: var(--green); color: #FFFDF8; }

.grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px 18px; margin-top: 20px; }
.f { display: flex; flex-direction: column; gap: 6px; }
.f > label { font-size: 13px; color: var(--ink-2); letter-spacing: .5px; }
.f input, .f select {
  border: 1px solid var(--line); background: #fff; border-radius: 6px;
  padding: 10px 12px; font-size: 15px; font-family: var(--sans); color: var(--ink);
  transition: .15s;
}
.f input:hover, .f select:hover { border-color: #C9BEAA; }
.f input:focus, .f select:focus { outline: none; border-color: var(--green); box-shadow: 0 0 0 3px rgba(31, 78, 70, .12); }
.f .hint { font-size: 12px; color: var(--ink-3); }
.f.wide { grid-column: 1 / -1; }
.fine { grid-column: 1 / -1; margin-top: 2px; }
.fine > summary {
  cursor: pointer; list-style: none; font-size: 12.5px; color: var(--ink-3);
  user-select: none; display: inline-flex; align-items: center; gap: 6px;
}
.fine > summary::-webkit-details-marker { display: none; }
.fine > summary::before { content: '＋'; color: var(--gold); font-size: 11px; }
.fine[open] > summary::before { content: '－'; }
.fine > summary:hover { color: var(--green); }

/* ---------- button ---------- */
.btn {
  display: inline-block; border: 0; border-radius: 6px; cursor: pointer;
  background: var(--green); color: #FFFDF8; padding: 12px 32px; font-size: 15.5px;
  font-family: var(--sans); letter-spacing: 2px; transition: .18s;
  box-shadow: 0 2px 10px rgba(31, 78, 70, .18);
}
.btn:hover { background: var(--green-2); transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn.ghost { background: transparent; color: var(--green); border: 1px solid var(--green); box-shadow: none; }
.btn.ghost:hover { background: rgba(31, 78, 70, .07); }
.btn.cin { background: var(--cinnabar); box-shadow: 0 2px 10px rgba(168, 48, 15, .2); }
.btn.cin:hover { background: var(--cinnabar-2); }
.btn:disabled { opacity: .6; cursor: default; transform: none; }
.primary-glow{min-width:210px;border:2px solid #d8be72;box-shadow:0 0 0 3px var(--green),0 12px 25px rgba(21,91,77,.22);font-size:17px}
.consent-row label{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.65;color:var(--ink-2)}
.consent-row input{width:auto;margin-top:4px;accent-color:var(--green)}
.privacy p{font-size:13px;color:var(--ink-2)}
.actions { margin-top: 24px; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.actions .tip { font-size: 12.5px; color: var(--cinnabar); }

/* ---------- report: top ---------- */
#report { display: none; }
#report.show { display: block; animation: rise .4s ease both; }
@keyframes rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

.rp-top { text-align: center; padding: 4px 0 22px; border-bottom: 1px solid var(--line-2); }
.rp-top .who { font-size: 12.5px; color: var(--ink-3); }
.rp-top h2 {
  font-family: var(--serif); font-size: 27px; color: var(--green); margin: 8px 0 4px;
  letter-spacing: 3px; font-weight: 500;
}
.rp-top .type { font-family: var(--serif); font-size: 15.5px; color: var(--cinnabar); letter-spacing: 1px; }

.pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 20px 0 0; }
.pil {
  background: #fff; border: 1px solid var(--line); border-radius: 8px;
  padding: 14px 8px; text-align: center; transition: .18s;
}
.pil:hover { border-color: var(--green); box-shadow: var(--shadow); }
.pil.dm { background: linear-gradient(160deg, rgba(31,78,70,.07), #fff); border-color: rgba(31,78,70,.32); }
.pil .lb { font-size: 12px; color: var(--ink-3); }
.pil .gz { font-family: var(--serif); font-size: 25px; color: var(--green); letter-spacing: 2px; margin: 3px 0; }
.pil .zf { font-size: 12px; color: var(--ink-2); }
.pil .cg { font-size: 11px; color: var(--ink-3); margin-top: 3px; }

/* ---------- 结论区 ---------- */
.verdict { margin-top: 26px; }
.verdict-head {
  display: flex; align-items: baseline; gap: 10px; margin-bottom: 14px;
  font-family: var(--serif); font-size: 19px; color: var(--green); letter-spacing: 2px;
}
.verdict-head::before { content: ''; width: 4px; height: 18px; background: var(--gold); border-radius: 2px; }
.verdict-head small { font-family: var(--sans); font-size: 12.5px; color: var(--ink-3); letter-spacing: 0; }

.vcards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.vcard {
  border: 1px solid var(--line-2); border-radius: var(--r); padding: 16px 18px;
  background: linear-gradient(165deg, #fff, var(--paper-2)); transition: .2s;
}
.vcard:hover { box-shadow: var(--shadow); border-color: var(--line); }
.vcard .lb { font-size: 12.5px; color: var(--ink-3); letter-spacing: 1px; }
.vcard .val { font-family: var(--serif); font-size: 24px; color: var(--green); letter-spacing: 2px; margin: 4px 0 2px; line-height: 1.35; }
.vcard .sub { font-size: 13px; color: var(--ink-2); line-height: 1.65; }
.vcard.key {
  background: linear-gradient(165deg, rgba(168, 48, 15, .07), rgba(255,253,248,.9));
  border-color: rgba(168, 48, 15, .28);
}
.vcard.key .val { color: var(--cinnabar); }
.vcard.key .lb { color: var(--cinnabar); opacity: .8; }

.todo { margin-top: 18px; border: 1px solid var(--line); border-radius: var(--r); background: var(--paper-2); overflow: hidden; }
.todo-h {
  padding: 12px 18px; background: var(--green-3); color: var(--green);
  font-family: var(--serif); font-size: 15.5px; letter-spacing: 1.5px;
  border-bottom: 1px solid var(--line-2);
}
.todo ol { margin: 0; padding: 16px 18px 16px 38px; }
.todo li { margin-bottom: 9px; font-size: 14.5px; line-height: 1.8; }
.todo li:last-child { margin-bottom: 0; }
.todo li::marker { color: var(--gold); font-family: var(--serif); font-weight: 600; }

/* ---------- 五行可视化 ---------- */
.wx-wrap { display: grid; grid-template-columns: 290px 1fr; gap: 22px; align-items: center; margin: 6px 0 0; }
.wx-radar svg.radar { width: 100%; height: auto; display: block; }
.bars { margin: 0; }
.bar { display: grid; grid-template-columns: 82px 1fr 74px; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 13px; }
.bar .nm { color: var(--ink-2); white-space: nowrap; }
.bar .tr { position: relative; background: var(--line-2); height: 10px; border-radius: 6px; overflow: hidden; }
.bar .fi { display: block; height: 100%; border-radius: 6px; transition: width .7s cubic-bezier(.22,.9,.3,1); }
.bar .ref { position: absolute; top: -2px; bottom: -2px; width: 1px; background: #7a7365; opacity: .55; }
.bar .vv { color: var(--ink-2); font-size: 12.5px; text-align: right; font-variant-numeric: tabular-nums; }
.bar .vv em { display: inline-block; margin-left: 5px; min-width: 15px; font-style: normal; color: var(--gold); font-family: var(--serif); }
.bar.min .nm { color: var(--cinnabar); font-weight: 600; }
.wx-note { font-size: 12px; color: var(--ink-3); margin: 10px 0 0; line-height: 1.7; }

/* ---------- 详解小节 ---------- */
.blk { margin-top: 30px; }
.blk-h {
  font-family: var(--serif); font-size: 18px; color: var(--green); margin: 0 0 10px;
  letter-spacing: 2px; font-weight: 500; display: flex; align-items: center; gap: 10px;
}
.blk-h::before { content: ''; width: 4px; height: 17px; background: var(--gold); border-radius: 2px; flex: none; }
.blk p { margin: 0 0 10px; font-size: 14.5px; }
.mini-sub {
  font-family: var(--serif); font-size: 14.5px; color: var(--ink-2);
  margin: 16px 0 6px; letter-spacing: 1px;
}
.mini-sub::before { content: '▍'; color: var(--gold); margin-right: 5px; }

/* 四季卡片 */
.seasons { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 8px; }
.season-c {
  border: 1px solid var(--line-2); border-radius: 8px; padding: 13px 14px; background: #fff; transition: .2s;
}
.season-c:hover { box-shadow: var(--shadow); }
.season-c .sn { font-family: var(--serif); font-size: 16px; color: var(--green); letter-spacing: 2px; }
.season-c .risk { font-size: 12.5px; color: var(--cinnabar); margin: 3px 0 5px; }
.season-c .tip { font-size: 12.5px; color: var(--ink-2); line-height: 1.65; }

/* 要点清单 */
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 0; }
.chip {
  border: 1px solid var(--line); background: var(--paper-2); border-radius: 20px;
  padding: 5px 14px; font-size: 13px; color: var(--ink-2);
}
.chip.hl { border-color: rgba(168,48,15,.32); background: rgba(168,48,15,.06); color: var(--cinnabar); }
ul.plain-li { margin: 6px 0 0; padding-left: 20px; font-size: 14px; }
ul.plain-li li { margin-bottom: 5px; }

/* ---------- 古籍引文卡 ---------- */
.quotes { margin-top: 6px; }
.qcard {
  border: 1px solid var(--line-2); border-left: 3px solid var(--gold); border-radius: 0 8px 8px 0;
  background: linear-gradient(100deg, rgba(169,135,63,.05), rgba(255,253,248,0) 70%);
  padding: 12px 16px; margin-bottom: 10px;
}
.qcard.q-green { border-left-color: var(--green); background: linear-gradient(100deg, rgba(31,78,70,.05), rgba(255,253,248,0) 70%); }
.qcard .qt { font-family: var(--serif); font-size: 14.5px; color: #2C2925; line-height: 1.85; }
.qcard .qsrc { font-size: 12px; color: var(--ink-3); text-align: right; margin-top: 5px; }
.qcard .qp {
  font-size: 13.5px; color: var(--ink-2); margin-top: 8px; padding-top: 8px;
  border-top: 1px dashed var(--line-2); line-height: 1.75;
}

/* ---------- 表格 ---------- */
table.tb { width: 100%; border-collapse: collapse; font-size: 13.5px; margin: 8px 0 4px; }
table.tb th {
  background: var(--green-3); color: var(--green); text-align: left; font-weight: 500;
  padding: 9px 12px; font-family: var(--serif); letter-spacing: 1px;
  border-bottom: 1px solid var(--line); white-space: nowrap;
}
table.tb td { padding: 9px 12px; vertical-align: top; border-bottom: 1px solid var(--line-2); }
table.tb tbody tr { transition: background .15s; }
table.tb tbody tr:hover { background: rgba(31, 78, 70, .045); }
table.tb td.k { white-space: nowrap; color: var(--ink-2); font-weight: 500; }
table.tb tr:last-child td { border-bottom: 0; }

/* ---------- 折叠区 ---------- */
.deep { margin-top: 34px; border-top: 1px dashed var(--line); padding-top: 22px; }
.deep-h {
  font-family: var(--serif); font-size: 17px; color: var(--ink-2); letter-spacing: 2px;
  margin: 0 0 4px;
}
.deep-cap { font-size: 12.5px; color: var(--ink-3); margin: 0 0 14px; }
details.fold {
  border: 1px solid var(--line-2); border-radius: 8px; background: var(--paper-2);
  margin-bottom: 9px; overflow: hidden; transition: .18s;
}
details.fold:hover { border-color: var(--line); box-shadow: var(--shadow); }
details.fold > summary {
  cursor: pointer; list-style: none; padding: 13px 18px; font-size: 14.5px; color: var(--ink);
  display: flex; align-items: center; gap: 10px; user-select: none; transition: .15s;
}
details.fold > summary::-webkit-details-marker { display: none; }
details.fold > summary:hover { background: rgba(31, 78, 70, .045); }
details.fold > summary::before {
  content: ''; width: 0; height: 0; flex: none;
  border-left: 5px solid var(--gold); border-top: 4px solid transparent; border-bottom: 4px solid transparent;
  transition: transform .2s;
}
details.fold[open] > summary::before { transform: rotate(90deg) translateX(1px); }
details.fold > summary .t { font-family: var(--serif); letter-spacing: 1px; }
details.fold > summary .n { margin-left: auto; font-size: 12px; color: var(--ink-3); }
details.fold .fold-b { padding: 2px 18px 16px; border-top: 1px solid var(--line-2); }
details.fold .fold-b > .blk:first-child { margin-top: 14px; }

/* 刑冲合会类型标记 */
.rel { display: inline-block; min-width: 20px; text-align: center; font-size: 12.5px; padding: 1px 8px; border-radius: 4px; font-family: var(--serif); }
.rel.r-冲 { background: rgba(168, 48, 15, .13); color: var(--cinnabar); }
.rel.r-刑 { background: rgba(140, 90, 20, .14); color: #7A5210; }
.rel.r-害 { background: rgba(120, 100, 80, .14); color: #6B5843; }
.rel.r-破 { background: rgba(120, 100, 80, .10); color: #7B6B58; }
.rel.r-合 { background: rgba(31, 78, 70, .12); color: var(--green); }
.rel.r-半合 { background: rgba(31, 78, 70, .08); color: #3D6B60; }
.rel.r-会 { background: rgba(169, 135, 63, .18); color: #8A6510; }

/* 关注等级 */
.lv { display: inline-block; font-size: 12px; padding: 1px 9px; border-radius: 10px; white-space: nowrap; }
.lv-high { background: rgba(168, 48, 15, .14); color: var(--cinnabar); }
.lv-mid { background: rgba(169, 135, 63, .18); color: #8A6510; }
.lv-good { background: rgba(49, 120, 90, .16); color: #2E6E52; }
.lv-normal { background: rgba(31, 78, 70, .08); color: var(--ink-2); }

.tag { display: inline-block; background: var(--green-3); color: var(--green); font-size: 12.5px; padding: 2px 10px; border-radius: 10px; margin: 0 6px 4px 0; }

.alert {
  border: 1px solid rgba(168, 48, 15, .35); background: rgba(168, 48, 15, .06);
  padding: 11px 15px; font-size: 13.5px; color: #6B2410; border-radius: 8px; margin: 12px 0; line-height: 1.75;
}
.note { font-size: 12.5px; color: var(--ink-3); line-height: 1.7; margin: 8px 0 0; }

/* 报告底部 */
.rp-foot { margin-top: 26px; text-align: center; }
.rp-note { font-size: 12px; color: var(--ink-3); margin-top: 14px; line-height: 1.7; }

.disclaim { font-size: 12.5px; color: var(--ink-3); border-top: 1px dashed var(--line); padding-top: 14px; margin-top: 22px; }

/* ---------- lead form ---------- */
.lead-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px 18px; margin-top: 16px; }
.ok { background: var(--green-3); border: 1px solid var(--green); color: var(--green); padding: 11px 15px; border-radius: 8px; font-size: 14px; margin-top: 14px; }

/* ---------- footer ---------- */
footer { border-top: 1px solid var(--line); margin-top: 44px; padding: 26px 0; text-align: center; color: var(--ink-3); font-size: 12.5px; }
footer .brand { font-family: var(--serif); color: var(--green); letter-spacing: 2px; font-size: 14px; }
footer .beian { margin-top: 8px; }
footer .beian a { color: var(--ink-3); text-decoration: none; }
footer .beian a:hover { color: var(--green); }

@media (max-width: 760px) {
  .hero { padding: 50px 8px 34px; }
  .hero h1 { font-size: 35px; letter-spacing: 5px; }.hero-kicker{font-size:12px;letter-spacing:2px}
  .points, .vcards { grid-template-columns: 1fr; }
  .grid, .lead-grid { grid-template-columns: 1fr 1fr; }
  .pillars { grid-template-columns: repeat(2, 1fr); }
  .seasons { grid-template-columns: repeat(2, 1fr); }
  .wx-wrap { grid-template-columns: 1fr; gap: 8px; }
  .wx-radar { max-width: 320px; margin: 0 auto; }
  .bar { grid-template-columns: 62px 1fr 76px; }
  .card { padding: 25px 18px;border-radius:16px; }
  .hd nav { display: none; }
  .vcard .val { font-size: 21px; }
}

@media print {
  body { background: #fff; }
  .hd, footer, #formCard, #leadCard, .rp-foot, #about, .design-canvas, .privacy { display: none !important; }
  .card { box-shadow: none; border: 0; padding: 0; }
  details.fold { border: 0; border-top: 1px solid #ddd; border-radius: 0; page-break-inside: avoid; }
  details.fold > summary::before { display: none; }
  details.fold .fold-b { padding: 0; }
  details[open] .fold-b, .fold-b { display: block !important; }
  details.fold:not([open]) .fold-b { display: block !important; }
}

/* ---------- 新版 H5 首页：设计稿画布与透明热区 ---------- */
.h5-home{min-height:100%;margin:0;overflow-x:hidden;background:#edf8f1;font-family:"Songti SC","STSong","Noto Serif SC",serif;line-height:normal}
.h5-home button,.h5-home input,.h5-home select{font:inherit}
.h5-home .design-canvas{position:relative;width:min(100%,750px);aspect-ratio:750 / 3682;min-height:1px;margin:0 auto;overflow:hidden;background:#edf8f1 url('../img/design-master.webp') top center/100% 100% no-repeat;box-shadow:0 0 40px rgba(11,82,78,.12)}
.h5-home .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.h5-home .calendar-switch{position:absolute;top:28.82%;left:11.47%;display:flex;width:32.4%;height:1.47%;padding:0;margin:0;border:0}
.h5-home .calendar-tab{position:relative;width:50%;height:100%;padding:0;color:transparent;background:transparent;border:0;cursor:pointer}
.h5-home .calendar-tab.active:first-of-type{color:transparent;background:transparent}
.h5-home .calendar-switch.lunar-selected{background:linear-gradient(90deg,#f7fcfa 0 50%,#165c53 50% 100%);border:1px solid rgba(23,83,78,.48)}
.h5-home .calendar-switch.lunar-selected .calendar-tab{z-index:2;color:#274f4b;font-size:min(3.2vw,24px)}
.h5-home .calendar-switch.lunar-selected .calendar-tab:nth-of-type(2){color:white}
.h5-home .design-input{position:absolute;height:1.96%;padding:0 3.8%;color:#143f3e;background:#f8fcfa;border:1px solid rgba(37,86,83,.46);border-radius:4px;outline:none;font-family:"Songti SC","STSong",serif;font-size:min(3.2vw,24px);line-height:1;transition:box-shadow .15s ease,border-color .15s ease}
.h5-home .design-input:focus{border-color:#075a56;box-shadow:0 0 0 min(.8vw,5px) rgba(9,102,95,.12)}
.h5-home .birth-date{top:32.65%;left:11.47%;width:80%}.h5-home .birth-time{top:38.35%;left:11.47%;width:37.35%}.h5-home .gender{top:38.35%;left:54.4%;width:37.35%;padding-right:3%}.h5-home .birth-place{top:43.32%;left:11.47%;width:81.2%}.h5-home .longitude{top:48.87%;left:11.47%;width:72.14%}
.h5-home .design-input::placeholder{color:#244f4d;opacity:1}.h5-home .design-input[type=date]::-webkit-calendar-picker-indicator,.h5-home .design-input[type=time]::-webkit-calendar-picker-indicator{opacity:.72;cursor:pointer}
.h5-home .lunar-fields{display:none}.h5-home .lunar-fields.show{display:flex;position:absolute;top:32.65%;left:11.47%;width:80%;height:1.96%;gap:4px}.h5-home .lunar-fields select{width:33.33%;border:1px solid rgba(37,86,83,.46);background:#f8fcfa;color:#143f3e;font-size:min(2.8vw,21px)}
.h5-home .form-error{position:absolute;top:54.13%;left:16%;width:68%;min-height:1.2%;margin:0;color:#8a271c;font-family:"Microsoft YaHei",sans-serif;font-size: min(3.4vw, 57px);text-align:center}
.h5-home .start-hotspot{position:absolute;top:55.65%;left:23.6%;width:48.2%;height:3.05%;padding:0;color:transparent;background:transparent;border:0;border-radius:999px;cursor:pointer;font-size:0}.h5-home .start-hotspot:hover{background:rgba(255,245,0,.08)}.h5-home .start-hotspot:focus-visible{outline:4px solid rgba(255,242,0,.7);outline-offset:3px}.h5-home .start-hotspot:active{transform:translateY(2px)}
.h5-home .qr-hotspot{position:absolute;top:64.15%;left:15.5%;width:69%;height:11.3%;border:0;border-radius:18px;background:transparent;cursor:pointer}.h5-home .qr-hotspot:hover{background:rgba(255,255,255,.12)}.h5-home .qr-hotspot:focus-visible,.h5-home .record-hotspot:focus-visible{outline:3px solid #d5983d;outline-offset:4px}.h5-home .record-hotspot{position:absolute;top:94.9%;left:42%;width:16%;height:1.6%}
.h5-home #report{display:block}.h5-home .result-dialog{width:min(86vw,390px);padding:34px 28px 30px;color:#063f3e;background:#f5fff9;border:1px solid #bddbd1;border-radius:20px;box-shadow:0 22px 75px rgba(0,42,42,.34);text-align:center}.h5-home .result-dialog::backdrop{background:rgba(0,42,42,.58);backdrop-filter:blur(5px)}.h5-home .dialog-close{position:absolute;top:9px;right:12px;width:34px;height:34px;padding:0;color:#52706c;background:transparent;border:0;font-size:27px;cursor:pointer}.h5-home .result-emblem{display:grid;width:54px;height:54px;margin:0 auto 13px;color:#eed466;background:#075b57;border:2px solid #d8ae62;border-radius:50%;font-size:25px;place-items:center}.h5-home .result-dialog h2{margin:0;font-size:25px}.h5-home .result-dialog p{margin:11px 0 15px;color:#54716e;font-size:14px;line-height:1.7}.h5-home .report-code{margin:4px auto 8px;color:#075b57;font:700 34px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:8px}.h5-home .result-dialog .report-code-tip{margin:0 0 20px;color:#315f59}.h5-home .result-button{min-width:190px;height:45px;color:#5c2516;background:linear-gradient(#f4e4b4,#daa254);border:2px solid #d79540;border-radius:99px;font-size:18px;cursor:pointer}
.h5-home .result-preview-link{display:block;margin:10px auto 0;padding:5px 10px;color:#275d57;background:transparent;border:0;font-size:14px;text-decoration:underline;cursor:pointer}
.h5-home .result-preview[hidden]{display:none}.h5-home .result-preview{max-width:750px;margin:0 auto;padding:28px 18px 56px;background:#edf8f1;line-height:1.7}.h5-home .preview-paper{padding:26px 22px;background:#fffdf8;border:1px solid #d8e5dc;border-radius:18px;box-shadow:0 12px 36px rgba(11,82,78,.1)}.h5-home .preview-head{text-align:center;padding-bottom:18px;border-bottom:1px solid #e1e9e3}.h5-home .preview-kicker{color:#9b762f;font-size:13px;letter-spacing:4px}.h5-home .preview-head h2{margin:7px 0 5px;color:#164f49;font-size:25px;font-weight:500;letter-spacing:3px}.h5-home .preview-head p{margin:0;color:#70827d;font-size:12px}.h5-home .preview-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.h5-home .preview-pillar{padding:12px 4px;text-align:center;background:#f4f8f5;border:1px solid #dbe7df;border-radius:9px}.h5-home .preview-pillar span{display:block;color:#81908b;font-size:12px}.h5-home .preview-pillar strong{display:block;margin-top:4px;color:#164f49;font-size:20px;font-weight:500;letter-spacing:2px}.h5-home .preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.h5-home .preview-item{padding:15px 13px;background:#f7faf8;border:1px solid #dfe9e3;border-radius:11px}.h5-home .preview-item.key{background:#fff8ee;border-color:#ead7b5}.h5-home .preview-item span{display:block;color:#7c8c87;font-size:12px}.h5-home .preview-item strong{display:block;margin:5px 0;color:#17544d;font-size:19px;font-weight:500}.h5-home .preview-item p{margin:0;color:#596b66;font-size:12px;line-height:1.65}.h5-home .preview-lock{margin-top:22px;padding:22px 16px;text-align:center;background:linear-gradient(145deg,#edf7f2,#f9f5e9);border:1px solid #d7e4dc;border-radius:13px}.h5-home .preview-lock-title{color:#164f49;font-size:20px;letter-spacing:2px}.h5-home .preview-lock p{margin:7px auto 15px;max-width:520px;color:#61746e;font-size:13px}.h5-home .preview-code-label{color:#7b8a85;font-size:12px}.h5-home .preview-code{margin:3px 0 13px;color:#9a4a24;font:700 28px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:7px}.h5-home .preview-qr-button{padding:10px 22px;color:#5c2516;background:linear-gradient(#f4e4b4,#daa254);border:1px solid #d79540;border-radius:99px;cursor:pointer}
.h5-home .preview-wuxing{margin:36px 0 4px;padding-top:22px;border-top:1px solid var(--line-2)}.h5-home .preview-table-wrap{width:100%;overflow:hidden}.h5-home .preview-table-wrap table{table-layout:fixed;font-size:12px}.h5-home .preview-table-wrap table th,.h5-home .preview-table-wrap table td{padding:8px 6px;white-space:normal;word-break:break-word}.h5-home .preview-table-wrap table th:nth-child(1){width:18%}.h5-home .preview-table-wrap table th:nth-child(2){width:12%}.h5-home .preview-table-wrap table th:nth-child(3){width:23%}.h5-home .preview-table-wrap table th:nth-child(4){width:32%}.h5-home .preview-table-wrap table th:nth-child(5){width:15%}.h5-home .preview-strong-weak{margin-top:12px;background:#fff3ec;line-height:1.9}
@media(max-width:420px){.h5-home .design-input{border-width:.7px;border-radius:2px}.h5-home .form-error{font-family:sans-serif}}
@media(max-width:560px){.h5-home .preview-paper{padding:22px 14px}.h5-home .preview-grid{grid-template-columns:1fr}.h5-home .preview-pillar strong{font-size:18px}.h5-home .preview-item{padding:13px}}
