.sz-tst{--accent:#a82c24;--line:#eadfce;--text:#2b241d;--muted:#76695d;max-width:980px;margin:22px auto;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.75}.sz-tst *{box-sizing:border-box}.sz-tst button,.sz-tst input,.sz-tst select{font:inherit}.sz-tst__hero{display:flex;align-items:center;gap:16px;padding:24px 26px;border:1px solid #ecd9b8;border-radius:16px;background:linear-gradient(135deg,#fff8e9,#fff)}.sz-tst__hero-icon{width:62px;height:62px;flex:0 0 62px;display:grid;place-items:center;border-radius:14px;background:var(--accent);color:#fff4dc;font-family:serif;font-size:32px;font-weight:700;box-shadow:inset 0 0 0 4px rgba(255,255,255,.14)}.sz-tst__hero h2{margin:0 0 4px;font-size:28px;line-height:1.35}.sz-tst__hero p{margin:0;color:var(--muted);font-size:15px}.sz-tst__notice{margin-top:14px;padding:13px 16px;border:1px solid #efdcba;border-radius:12px;background:#fff9ec;color:#705835;font-size:14px}.sz-tst__form-card{margin-top:18px;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(83,55,23,.05)}.sz-tst__form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.sz-tst label>span{display:block;margin-bottom:6px;color:#675a4d;font-size:13px}.sz-tst input[type=date],.sz-tst input[type=time],.sz-tst input[type=number],.sz-tst input[type=text],.sz-tst select{width:100%;height:44px;padding:0 12px;border:1px solid #d9cabb;border-radius:9px;background:#fff;color:var(--text);outline:none}.sz-tst input:focus,.sz-tst select:focus{border-color:#bb8949;box-shadow:0 0 0 3px rgba(187,137,73,.10)}.sz-tst label small{display:block;margin-top:5px;color:#8b7e70;font-size:11px}.sz-tst__longitude-field{position:relative}.sz-tst__longitude-field input{padding-right:34px!important}.sz-tst__longitude-field b{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#9a7c58;font-weight:400}.sz-tst__location-row{display:grid;grid-template-columns:1.4fr 1.2fr auto;gap:12px;align-items:end;margin-top:15px}.sz-tst__dst{min-height:44px;display:flex!important;align-items:center;gap:8px;padding:0 12px;border:1px solid #e1d5c6;border-radius:9px;background:#fffaf4}.sz-tst__dst input{margin:0}.sz-tst__dst span{margin:0!important;font-size:12px!important}.sz-tst__secondary{min-height:44px;padding:0 15px;border:1px solid #d9c6aa;border-radius:9px;background:#fff;color:#684f34;cursor:pointer}.sz-tst__secondary:hover{background:#fff8ec}.sz-tst__presets{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:14px;color:#7b6b5b;font-size:12px}.sz-tst__presets button{padding:4px 9px;border:1px solid #e4d3bf;border-radius:999px;background:#fffaf3;color:#654f38;cursor:pointer}.sz-tst__presets button:hover{border-color:#cda66d;background:#fff6e8}.sz-tst__primary{width:100%;min-height:48px;margin-top:18px;border:0;border-radius:10px;background:var(--accent);color:#fff;font-weight:700;cursor:pointer}.sz-tst__primary:hover{filter:brightness(.95)}.sz-tst__status{min-height:1.5em;margin:8px 0 0;color:#a52b24;font-size:12px}.sz-tst__result{margin-top:18px;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(83,55,23,.05)}.sz-tst__result-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:16px;border-bottom:1px dashed #e8dac7}.sz-tst__eyebrow{display:block;color:#9d7441;font-size:11px}.sz-tst__result-head h3{margin:1px 0 2px;font-size:24px}.sz-tst__result-head p{margin:0;color:var(--muted);font-size:12px}.sz-tst__result-time{flex:0 0 auto;padding:8px 14px;border-radius:12px;background:#fff3df;border:1px solid #ebcca0;color:var(--accent);font-size:30px;font-weight:800;letter-spacing:.03em}.sz-tst__result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.sz-tst__result-grid>div{padding:12px 13px;border:1px solid #eee2d2;border-radius:10px;background:#fcfaf6}.sz-tst__result-grid span{display:block;color:#8f7b65;font-size:11px}.sz-tst__result-grid strong{font-size:15px}.sz-tst__formula{margin-top:14px;padding:14px 16px;border-left:4px solid #c79552;border-radius:5px 10px 10px 5px;background:#fff9ee}.sz-tst__formula h4{margin:0 0 4px;font-size:16px}.sz-tst__formula p{margin:2px 0;color:#5e5043;font-size:13px}.sz-tst__formula small{display:block;margin-top:5px;color:#897866}.sz-tst__day-cross{margin-top:12px;padding:10px 13px;border-radius:9px;background:#f7f5f1;color:#66584a;font-size:12px}.sz-tst__explain,.sz-tst__reference{margin-top:20px;padding:22px 24px;border:1px solid var(--line);border-radius:16px;background:#fff}.sz-tst__explain h3,.sz-tst__reference h3{margin:0 0 7px;font-size:21px}.sz-tst__explain>p,.sz-tst__reference>p{margin:7px 0;color:#675b4f}.sz-tst__explain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.sz-tst__explain-grid>div{padding:13px 14px;border:1px solid #eee2d2;border-radius:10px;background:#fcfaf6}.sz-tst__explain-grid strong{display:block;margin-bottom:3px}.sz-tst__explain-grid p{margin:0;color:#736557;font-size:12px}.sz-tst__reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.sz-tst__reference-grid span{padding:9px 11px;border-radius:9px;background:#fffaf3;border:1px solid #eee0cd;color:#675748;font-size:12px}@media(max-width:820px){.sz-tst__form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sz-tst__location-row{grid-template-columns:1fr 1fr}.sz-tst__secondary{grid-column:1/-1}.sz-tst__explain-grid{grid-template-columns:1fr}}@media(max-width:600px){.sz-tst{margin:12px auto}.sz-tst__hero{padding:19px 17px;align-items:flex-start}.sz-tst__hero-icon{width:52px;height:52px;flex-basis:52px;font-size:27px}.sz-tst__hero h2{font-size:22px}.sz-tst__form-card,.sz-tst__result,.sz-tst__explain,.sz-tst__reference{padding:17px 14px}.sz-tst__form-grid,.sz-tst__location-row{grid-template-columns:1fr}.sz-tst__secondary{grid-column:auto;width:100%}.sz-tst__result-head{align-items:flex-start;flex-direction:column}.sz-tst__result-time{font-size:26px;width:100%;text-align:center}.sz-tst__result-grid{grid-template-columns:1fr 1fr}.sz-tst__reference-grid{grid-template-columns:1fr 1fr}}@media(max-width:400px){.sz-tst__result-grid,.sz-tst__reference-grid{grid-template-columns:1fr}}

/* v1.0.1 地点与经度绑定提示 */
.sz-tst__place input[readonly]{
  background:#fbfaf7;
  cursor:default;
}
.sz-tst__place small{
  display:block;
  margin-top:5px;
  color:#88796a;
  font-size:11px;
}
.sz-tst__coord-check{
  margin-top:13px;
  padding:9px 12px;
  border:1px solid #ead7bd;
  border-radius:9px;
  background:#fff9ef;
  color:#795e3d;
  font-size:12px;
}
.sz-tst__coord-check.is-ok{
  border-color:#cfe2cf;
  background:#f5fbf5;
  color:#426642;
}


/* v1.1.0 高德省市县三级联动 */
.sz-tst__basic-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1.35fr;
  gap:12px;
  align-items:end;
}
.sz-tst__readonly{
  background:#fbfaf7!important;
  color:#5f5246!important;
}
.sz-tst__basic-grid .sz-tst__dst{
  min-height:44px;
  display:flex!important;
  align-items:center;
  gap:8px;
  margin:0;
  padding:0 12px;
  border:1px solid #e1d5c6;
  border-radius:9px;
  background:#fffaf4;
}
.sz-tst__basic-grid .sz-tst__dst input{margin:0}
.sz-tst__basic-grid .sz-tst__dst span{
  margin:0!important;
  font-size:12px!important;
}

.sz-tst__birthplace{
  margin-top:17px;
  padding:16px;
  border:1px solid #e8dac8;
  border-radius:12px;
  background:#fffdf9;
}
.sz-tst__birthplace-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:12px;
}
.sz-tst__birthplace-head strong{
  display:block;
  font-size:16px;
}
.sz-tst__birthplace-head small{
  display:block;
  margin-top:1px;
  color:#877765;
  font-size:11px;
}
.sz-tst__amap-badge,.sz-tst__offline-badge{
  flex:0 0 auto;
  padding:4px 9px;
  border:1px solid #e5ccb0;
  border-radius:999px;
  background:#fff7ea;
  color:#9a652c;
  font-size:11px;
}
.sz-tst__district-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.sz-tst__district-grid select{
  width:100%;
  height:44px;
  border:1px solid #d9cabb;
  border-radius:9px;
  background:#fff;
  padding:0 11px;
  color:#2b241d;
  outline:none;
}
.sz-tst__district-grid select:focus{
  border-color:#bb8949;
  box-shadow:0 0 0 3px rgba(187,137,73,.10);
}
.sz-tst__district-grid select:disabled{
  background:#f7f5f2;
  color:#aaa095;
  cursor:not-allowed;
}
.sz-tst__address-status{
  margin-top:11px;
  min-height:39px;
  display:flex;
  align-items:center;
  padding:8px 11px;
  border:1px solid #ead9c3;
  border-radius:9px;
  background:#fff9ef;
  color:#745d42;
  font-size:12px;
}
.sz-tst__address-status.is-loading{
  color:#8b6b3d;
}
.sz-tst__address-status.is-success{
  border-color:#cfe2cf;
  background:#f5fbf5;
  color:#426642;
}
.sz-tst__address-status.is-error{
  border-color:#f0c2be;
  background:#fff5f4;
  color:#a22d26;
}

.sz-tst__location-result{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:10px;
  margin-top:16px;
}
.sz-tst__location-result>div{
  padding:12px 13px;
  border:1px solid #eee2d2;
  border-radius:10px;
  background:#fffaf4;
}
.sz-tst__location-result span{
  display:block;
  color:#8f7b65;
  font-size:11px;
}
.sz-tst__location-result strong{
  font-size:14px;
}

@media(max-width:820px){
  .sz-tst__basic-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:600px){
  .sz-tst__basic-grid,
  .sz-tst__district-grid,
  .sz-tst__location-result{
    grid-template-columns:1fr;
  }
  .sz-tst__birthplace{
    padding:14px 12px;
  }
  .sz-tst__birthplace-head{
    align-items:flex-start;
  }
}


/* v1.1.1 夏令时自动判断 */
.sz-tst__dst-auto{
  min-height:68px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:9px 12px;
  border:1px solid #e1d5c6;
  border-radius:9px;
  background:#fffaf4;
}
.sz-tst__dst-auto>span{
  display:block;
  margin:0 0 1px!important;
  color:#746553;
  font-size:11px!important;
}
.sz-tst__dst-auto strong{
  display:block;
  color:#4f4439;
  font-size:14px;
  line-height:1.4;
}
.sz-tst__dst-auto small{
  display:block;
  margin-top:2px;
  color:#8b7a68;
  font-size:10px;
  line-height:1.35;
}
.sz-tst__dst-auto.is-dst{
  border-color:#e4bd82;
  background:#fff6e6;
}
.sz-tst__dst-auto.is-dst strong{
  color:#a65e13;
}


/* ==========================================================
 * v2.0.0 无高德 / 离线行政区
 * ========================================================== */
.sz-tst__offline-badge{
  flex:0 0 auto;
  padding:4px 9px;
  border:1px solid #c9ddc7;
  border-radius:999px;
  background:#f4fbf3;
  color:#467041;
  font-size:11px;
  font-weight:600;
}

.sz-tst__mode-switch{
  display:flex;
  gap:7px;
  margin:0 0 13px;
  padding:4px;
  border:1px solid #e7d9c7;
  border-radius:10px;
  background:#faf7f2;
}

.sz-tst__mode-switch button{
  flex:1;
  min-height:36px;
  padding:5px 10px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#776653;
  cursor:pointer;
  font-size:12px;
}

.sz-tst__mode-switch button.is-active{
  background:#a82c24;
  color:#fff;
  box-shadow:0 2px 8px rgba(168,44,36,.13);
}

.sz-tst__manual-grid{
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:10px;
}

.sz-tst__manual-grid[hidden],
.sz-tst [data-region-mode][hidden]{
  display:none!important;
}

.sz-tst__manual-grid label>span small{
  display:inline;
  margin:0;
  color:#9a8b79;
  font-size:10px;
  font-weight:400;
}

.sz-tst__data-note{
  margin-top:13px;
  padding:10px 12px;
  border:1px solid #eadbc7;
  border-radius:9px;
  background:#fffaf3;
  color:#76624b;
  font-size:11px;
}

.sz-tst__data-note strong{
  color:#9a632c;
}

@media(max-width:600px){
  .sz-tst__manual-grid{
    grid-template-columns:1fr;
  }

  .sz-tst__mode-switch{
    width:100%;
  }

  .sz-tst__mode-switch button{
    padding-left:6px;
    padding-right:6px;
    font-size:11px;
  }

  .sz-tst__offline-badge{
    font-size:10px;
  }
}
