.szbz{
  --szbz-red:#a92f2f;
  --szbz-red-dark:#8d2525;
  --szbz-border:#e2ddd7;
  --szbz-soft:#faf8f5;
  --szbz-text:#242424;
  --szbz-muted:#6e6e6e;

  width:100%;
  max-width:1100px;
  margin:0 auto;
  color:var(--szbz-text);
  font-family:"Microsoft YaHei","PingFang SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  box-sizing:border-box;
}

.szbz *,
.szbz *::before,
.szbz *::after{box-sizing:border-box;}

.szbz [hidden]{display:none!important;}

.szbz-resource-bar{margin:0 0 14px!important;}

.szbz-resource-link{
  position:relative!important;
  display:flex!important;
  min-height:82px!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:14px 20px 14px 24px!important;
  border:1px solid #e4b9b0!important;
  border-radius:7px!important;
  background:linear-gradient(90deg,#fff7f5 0%,#fffdfb 55%,#fff 100%)!important;
  box-shadow:0 3px 12px rgba(150,40,40,.07)!important;
  overflow:hidden!important;
  text-decoration:none!important;
}

.szbz-resource-link::before{
  content:""!important;
  position:absolute!important;
  left:0!important;top:0!important;bottom:0!important;
  width:5px!important;
  background:#c33a32!important;
}

.szbz-resource-copy{display:flex!important;min-width:0!important;flex-direction:column!important;}

.szbz-resource-badge{
  display:inline-flex!important;
  width:max-content!important;
  min-height:20px!important;
  margin:0 0 3px!important;
  align-items:center!important;
  padding:1px 7px!important;
  border:1px solid #e9beb8!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#b12e2e!important;
  font-size:10px!important;
  font-weight:700!important;
}

.szbz-resource-title{color:#252525!important;font-size:19px!important;font-weight:800!important;line-height:1.4!important;}
.szbz-resource-desc{margin-top:2px!important;color:#666!important;font-size:12px!important;line-height:1.5!important;}

.szbz-resource-action{
  min-width:142px!important;
  min-height:40px!important;
  padding:0 16px!important;
  border:1px solid #bd302c!important;
  border-radius:5px!important;
  background:#bd302c!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:38px!important;
  text-align:center!important;
  white-space:nowrap!important;
}

.szbz-head{margin:0 0 12px;}
.szbz-head h1{margin:0;color:#1f1f1f;font-size:26px;font-weight:800;line-height:1.4;}
.szbz-head p{max-width:960px;margin:7px 0 0;color:#666;font-size:13px;line-height:1.75;}

.szbz-notice{
  margin:0 0 14px;
  padding:10px 13px;
  border:1px solid #ead9ba;
  border-radius:5px;
  background:#fffaf0;
  color:#705b32;
  font-size:11px;
  line-height:1.7;
}

.szbz-form-card,
.szbz-result{
  border:1px solid var(--szbz-border);
  border-radius:8px;
  background:#fff;
  box-shadow:0 3px 14px rgba(50,40,30,.05);
}

.szbz-form-card{padding:18px;}

.szbz-form-grid{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(180px,280px);
  gap:12px;
  align-items:end;
}

.szbz-field{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:6px;
}

.szbz-field > span,
.szbz-gender-wrap > span{
  color:#444;
  font-size:11px;
  font-weight:700;
}

.szbz-field input,
.szbz-field select,
.szbz-birthplace-row select{
  width:100%;
  height:39px;
  min-width:0;
  padding:0 10px;
  border:1px solid #bababa;
  border-radius:4px;
  background:#fff;
  color:#222;
  font-size:13px;
  outline:none;
}

.szbz-field input:focus,
.szbz-field select:focus,
.szbz-birthplace-row select:focus{
  border-color:#a65959;
  box-shadow:0 0 0 2px rgba(169,47,47,.07);
}

.szbz-gender-wrap{display:flex;flex-direction:column;gap:6px;}
.szbz-gender-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.szbz-gender,
.szbz-date-type-btn{
  height:39px;
  border:1px solid #d1d1d1;
  border-radius:4px;
  background:#f8f8f8;
  color:#555;
  cursor:pointer;
  font-size:12px;
  font-weight:700;
}
.szbz-gender.is-active,
.szbz-date-type-btn.is-active{
  border-color:#bf4a4a;
  background:#fff7f7;
  color:#aa2c2c;
}

.szbz-date-type{
  display:inline-grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  margin-top:15px;
  padding:3px;
  border:1px solid #ddd;
  border-radius:6px;
  background:#f7f7f7;
}
.szbz-date-type-btn{min-width:74px;border:0;background:transparent;}
.szbz-date-type-btn.is-active{background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.08);}

.szbz-date-fields{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:13px;
  align-items:end;
}

.szbz-lunar-fields{grid-template-columns:repeat(3,minmax(0,1fr)) auto;}

.szbz-leap-wrap{
  display:flex;
  height:39px;
  align-items:center;
  gap:6px;
  padding:0 10px;
  border:1px solid #d1d1d1;
  border-radius:4px;
  color:#555;
  font-size:12px;
  white-space:nowrap;
}

.szbz-time-fields{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}

.szbz-solar-panel{
  margin-top:15px;
  padding:13px;
  border:1px solid #e2e2e2;
  border-radius:6px;
  background:#fafafa;
}

.szbz-solar-mode-field{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  color:#444;
  font-size:11px;
  font-weight:700;
}

.szbz-solar-mode-field select{
  height:32px;
  padding:0 8px;
  border:1px solid #bdbdbd;
  border-radius:4px;
  background:#fff;
  font-size:12px;
}

.szbz-solar-mode-field small{
  color:#777;
  font-size:10px;
  font-weight:400;
}

.szbz-birthplace-row{
  display:grid;
  grid-template-columns:auto repeat(3,minmax(0,1fr)) auto;
  gap:8px;
  align-items:center;
  margin-top:11px;
}

.szbz-birthplace-label{color:#555;font-size:11px;font-weight:700;}
.szbz-birthplace-row select{height:35px;font-size:11px;}

.szbz-dst-auto{
  display:flex;
  align-items:center;
  gap:4px;
  color:#777;
  font-size:10px;
  white-space:nowrap;
}
.szbz-dst-status{color:#666;font-weight:700;}
.szbz-dst-status.is-active{color:#b12e2e;}

.szbz-address-status,
.szbz-solar-preview{
  margin-top:7px;
  color:#777;
  font-size:10px;
  line-height:1.6;
}

.szbz-address-status.is-success,
.szbz-solar-preview.is-active{color:#39734a;}
.szbz-address-status.is-error,
.szbz-solar-preview.is-error{color:#b52d2d;}

.szbz-submit{
  display:flex;
  width:100%;
  max-width:280px;
  height:44px;
  margin:18px auto 0;
  align-items:center;
  justify-content:center;
  border:1px solid var(--szbz-red-dark);
  border-radius:5px;
  background:var(--szbz-red);
  color:#fff;
  cursor:pointer;
  font-size:14px;
  font-weight:800;
}

.szbz-submit:hover{background:var(--szbz-red-dark);}

.szbz-error{
  margin-top:12px;
  padding:9px 12px;
  border:1px solid #e8bcbc;
  border-radius:4px;
  background:#fff5f5;
  color:#a52525;
  font-size:12px;
  text-align:center;
}

.szbz-result{margin-top:16px;overflow:hidden;}

.szbz-result-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  border-bottom:1px solid #eee2da;
  background:linear-gradient(90deg,#fff8f6,#fffdf9);
}

.szbz-result-kicker{color:#8e5d54;font-size:10px;font-weight:700;}
.szbz-result-head h2{margin:3px 0 0;color:#a32c2c;font-size:25px;font-weight:900;letter-spacing:5px;}

.szbz-copy{
  min-height:34px;
  padding:0 12px;
  border:1px solid #d3c4bd;
  border-radius:4px;
  background:#fff;
  color:#76564e;
  cursor:pointer;
  font-size:11px;
}

.szbz-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  background:#eae5e0;
  border-bottom:1px solid #eae5e0;
}

.szbz-summary-grid > div{
  min-width:0;
  padding:11px 14px;
  background:#fff;
}

.szbz-summary-grid span{
  display:block;
  margin-bottom:3px;
  color:#888;
  font-size:9px;
  font-weight:700;
}

.szbz-summary-grid strong{
  display:block;
  overflow-wrap:anywhere;
  color:#333;
  font-size:11px;
  line-height:1.55;
}

.szbz-pillars-wrap{overflow-x:auto;padding:18px 20px 4px;}

.szbz-pillars{
  width:100%;
  min-width:720px;
  border-collapse:collapse;
  table-layout:fixed;
}

.szbz-pillars th,
.szbz-pillars td{
  border:1px solid #e5dfda;
  padding:9px 8px;
  text-align:center;
  vertical-align:middle;
}

.szbz-pillars thead th{
  background:#faf7f3;
  color:#5b4c46;
  font-size:12px;
}

.szbz-pillars tbody th{
  width:92px;
  background:#fcfbf9;
  color:#777;
  font-size:10px;
  font-weight:700;
}

.szbz-pillars td{
  color:#444;
  font-size:11px;
  line-height:1.6;
}

.szbz-row-gan td,
.szbz-row-zhi td{padding:12px 8px;}

.szbz-gz-big{
  display:inline-block;
  font-family:"STKaiti","KaiTi","Microsoft YaHei",serif;
  font-size:32px;
  font-weight:800;
  line-height:1;
}

.szbz-hide-gan{
  display:inline-block;
  min-width:22px;
  font-size:14px;
  font-weight:700;
}

.szbz-element-wood{color:#338049!important;}
.szbz-element-fire{color:#bd3430!important;}
.szbz-element-earth{color:#9b6c36!important;}
.szbz-element-metal{color:#8d720c!important;}
.szbz-element-water{color:#376b95!important;}

.szbz-extra-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
  padding:15px 20px 5px;
}

.szbz-extra-grid article{
  min-height:94px;
  padding:12px;
  border:1px solid #e7e1dc;
  border-radius:6px;
  background:#fbf9f6;
  text-align:center;
}

.szbz-extra-grid article > span{
  display:block;
  color:#888;
  font-size:9px;
  font-weight:700;
}

.szbz-extra-grid article > strong{
  display:block;
  margin-top:6px;
  color:#333;
  font-size:18px;
}

.szbz-extra-grid article > small{
  display:block;
  margin-top:4px;
  color:#888;
  font-size:9px;
}

.szbz-wuxing-section,
.szbz-dayun-section{
  margin:16px 20px 0;
  padding:14px;
  border:1px solid #e7e1dc;
  border-radius:7px;
  background:#fff;
}

.szbz-section-title{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:11px;
}

.szbz-section-title h2{margin:0;color:#2b2b2b;font-size:16px;font-weight:800;}
.szbz-section-title span{color:#888;font-size:9px;line-height:1.5;text-align:right;}

.szbz-wuxing-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
}

.szbz-wuxing-grid > div{
  padding:12px 8px;
  border:1px solid #e7e2dc;
  border-radius:5px;
  background:#faf9f7;
  text-align:center;
}

.szbz-wuxing-grid span{display:block;color:#777;font-size:10px;}
.szbz-wuxing-grid strong{display:block;margin-top:3px;color:#333;font-size:22px;}

.szbz-dayun-scroll{overflow-x:auto;}

.szbz-dayun-table{
  width:100%;
  min-width:640px;
  border-collapse:collapse;
}

.szbz-dayun-table th,
.szbz-dayun-table td{
  padding:9px 8px;
  border:1px solid #e6e1dc;
  text-align:center;
  font-size:10px;
}

.szbz-dayun-table th{background:#faf7f3;color:#6c5b54;}
.szbz-dayun-table td strong{font-size:16px;margin:0 1px;}

.szbz-result-note{
  margin:16px 20px 20px;
  padding:11px 13px;
  border-left:4px solid #b87362;
  background:#faf7f3;
  color:#777;
  font-size:10px;
  line-height:1.7;
}

.szbz-seo{
  margin-top:20px;
  padding:0 2px;
}

.szbz-seo h2{
  margin:0;
  color:#292929;
  font-size:16px;
  font-weight:800;
}

.szbz-seo h2:not(:first-child){margin-top:18px;}

.szbz-seo p{
  margin:6px 0 0;
  color:#666;
  font-size:12px;
  line-height:1.8;
}

.szbz-b2-reward{
  display:flex!important;
  margin:22px 0 4px!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
}

.szbz-b2-reward-btn{
  display:inline-flex!important;
  min-width:132px!important;
  min-height:38px!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  padding:0 16px!important;
  border:1px solid #d3c1b8!important;
  border-radius:5px!important;
  background:#fff!important;
  color:#8b4232!important;
  -webkit-text-fill-color:#8b4232!important;
  cursor:pointer!important;
  font-size:12px!important;
  font-weight:700!important;
}

.szbz-b2-reward-btn:hover{
  border-color:#b55235!important;
  background:#fff8f4!important;
}

.szbz-b2-reward-tip{
  max-width:680px!important;
  color:#a33!important;
  font-size:10px!important;
  line-height:1.55!important;
  text-align:center!important;
}

.szbz-b2-native-carrier{
  position:absolute!important;
  left:-100000px!important;
  top:-100000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:.001!important;
  pointer-events:none!important;
}

.szbz-b2-modal-parked{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

body > [data-szbz-promoted-b2-modal]{
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

@media(max-width:820px){
  .szbz-birthplace-row{grid-template-columns:1fr 1fr;}
  .szbz-birthplace-label,
  .szbz-dst-auto{grid-column:1/-1;}
  .szbz-summary-grid{grid-template-columns:1fr 1fr;}
  .szbz-extra-grid{grid-template-columns:repeat(3,1fr);}
}

@media(max-width:640px){
  .szbz-resource-link{
    min-height:auto!important;
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:10px!important;
    padding:13px 14px 13px 18px!important;
  }

  .szbz-resource-action{min-width:0!important;width:100%!important;}
  .szbz-resource-title{font-size:17px!important;}
  .szbz-head h1{font-size:21px;}

  .szbz-form-grid,
  .szbz-date-fields,
  .szbz-time-fields{grid-template-columns:1fr 1fr;}

  .szbz-lunar-fields{grid-template-columns:1fr 1fr;}
  .szbz-extra-grid{grid-template-columns:1fr 1fr;}
  .szbz-wuxing-grid{grid-template-columns:repeat(5,1fr);}
}

@media(max-width:480px){
  .szbz-form-card{padding:14px;}
  .szbz-form-grid,
  .szbz-date-fields,
  .szbz-time-fields,
  .szbz-lunar-fields,
  .szbz-summary-grid{grid-template-columns:1fr;}

  .szbz-birthplace-row{grid-template-columns:1fr;}
  .szbz-birthplace-label,
  .szbz-dst-auto{grid-column:auto;}

  .szbz-result-head{align-items:flex-start;flex-direction:column;}
  .szbz-result-head h2{font-size:21px;letter-spacing:3px;}
  .szbz-extra-grid{grid-template-columns:1fr 1fr;padding-left:14px;padding-right:14px;}
  .szbz-wuxing-section,
  .szbz-dayun-section{margin-left:14px;margin-right:14px;}
  .szbz-wuxing-grid{grid-template-columns:repeat(5,1fr);gap:4px;}
  .szbz-wuxing-grid > div{padding:9px 3px;}
}

@media print{
  .szbz-form-card,
  .szbz-resource-bar,
  .szbz-b2-reward,
  .szbz-seo,
  .szbz-notice,
  .szbz-copy{display:none!important;}
}
