/* Two independent birth lists, using the same quiet rows as the bazi editor. */
html body #hehunForm.hehun-input-simple .profile-grid { gap: 22px; align-items: stretch; }
html body #hehunForm .hehun-input-card { padding: 23px 25px 20px; border-radius: 17px; min-width: 0; }
/* Keep the accessible group title inside the card, clear of its top border. */
html body #hehunForm .profile-card > legend { float: left; margin: 0; padding-bottom: 13px; }
html body #hehunForm .profile-card > legend + * { clear: both; }
html body #hehunForm .hehun-input-card legend strong { font: 500 23px/1.4 var(--serif); color: var(--ink, #2b263d); }
html body #hehunForm .hehun-input-card .saved-field { margin: 0; padding: 0 0 16px; gap: 7px; border-bottom: 1px solid var(--line); font-size: 11px; }
html body #hehunForm .hehun-input-card .saved-field select { min-height: 42px; height: 42px; padding-block: 7px; font-size: 12px; border-radius: 8px; }
.hehun-input-saved { margin: 0 0 2px; border-bottom: 1px solid var(--line); }
.hehun-input-saved > summary { min-height: 40px; padding: 8px 0 12px; color: var(--dim, #736b83); font: 11px/1.6 var(--sans); cursor: pointer; }
html body #hehunForm .hehun-input-saved .saved-field { padding: 0 0 14px; border: 0; }
.hehun-input-list { display: grid; }
.hehun-input-row { display: grid; grid-template-columns: 66px minmax(0,1fr); align-items: center; gap: 13px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.hehun-input-label { color: var(--dim, #736b83); font: 500 12px/1.5 var(--sans); white-space: nowrap; }
.hehun-input-value { min-width: 0; display: grid; gap: 9px; }
.hehun-input-person .hehun-input-value { grid-template-columns: minmax(0,1fr); }
html body #hehunForm .hehun-input-person input { width: 100%; min-width: 0; min-height: 44px; padding: 9px 12px; border: 1px solid var(--line, rgba(121, 89, 188, .14)); border-radius: 9px; color: var(--ink-soft, #514a63); background: var(--surface-control, #fcfaff); font: 400 13px/1.5 var(--sans); }
.hehun-input-segment { display: flex; justify-self: start; align-items: center; gap: 3px; min-width: 0; max-width: 100%; padding: 3px; border-radius: 8px; background: var(--surface-control, #fcfaff); }
html body #hehunForm .hehun-input-segment button { display: block; min-width: 0; min-height: 34px; margin: 0; padding: 6px 11px; border: 0; border-radius: 6px; color: var(--ink-soft, #514a63); background: transparent; box-shadow: none; font: 500 11px/1.4 var(--sans); white-space: nowrap; cursor: pointer; }
html body #hehunForm .hehun-input-segment button[aria-pressed='true'] { color: var(--gold, #7959bc); background: linear-gradient(135deg, #f0e8fa, #f2edf9); box-shadow: inset 0 1px 0 #ffffffcc; }
html body #hehunForm .hehun-input-trigger { display: flex; justify-content: space-between; align-items: center; gap: 10px; width: 100%; min-width: 0; min-height: 44px; padding: 10px 13px; border: 1px solid var(--line, rgba(121, 89, 188, .14)); border-radius: 9px; color: var(--ink-soft, #514a63); background: var(--surface-control, #fcfaff); font: 500 13px/1.6 var(--sans); text-align: left; cursor: pointer; }
.hehun-input-trigger > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.hehun-input-chevron { flex: 0 0 auto; color: var(--dim, #736b83); font-size: 17px; }
html body #hehunForm .hehun-input-trigger[data-empty='true'] { color: var(--dim, #736b83); }
html body #hehunForm .hehun-input-trigger:disabled { opacity: .6; cursor: default; }
html body #hehunForm .hehun-input-trigger[aria-invalid='true'] { border-color: var(--cinnabar); }
.hehun-input-value [data-location-requirement] { color: var(--faint, #80768f); font: 10px/1.5 var(--sans); }
.hehun-input-advanced { margin-top: 14px; border: 1px solid var(--line, rgba(121, 89, 188, .14)); border-radius: 10px; background: var(--surface-control, #fcfaff); }
.hehun-input-advanced > summary { padding: 12px 14px; color: var(--ink-soft, #514a63); font: 500 11px/1.5 var(--sans); cursor: pointer; }
.hehun-input-advanced-body { display: grid; gap: 15px; padding: 2px 14px 14px; }
html body #hehunForm .hehun-input-advanced-body .field { margin: 0; font-size: 11px; }
html body #hehunForm .hehun-input-advanced-body input[type='number'] { min-height: 42px; font-size: 12px; }
.hehun-input-advanced-body .time-options { display: grid; gap: 7px; }
.hehun-input-note { margin: 10px 0 0; color: #ad4969; font: 11px/1.6 var(--sans); }
html body #hehunForm .hehun-input-sources { display: none !important; }
html body #hehunForm :is(.hehun-input-trigger,.hehun-input-segment button,.hehun-input-person input):focus-visible { outline: 2px solid var(--gold, #7959bc); outline-offset: 2px; }
html:has(#hehunInputPicker[open]) { overflow: hidden; }
html body .hehun-input-picker { position: fixed; inset: 0; display: none; flex-direction: column; width: min(560px,calc(100% - 32px)); max-width: none; max-height: min(660px,calc(100dvh - 48px)); margin: auto; padding: 0; border: 1px solid var(--line, rgba(121, 89, 188, .14)); border-radius: 20px; color: var(--ink-soft, #514a63); background: var(--surface-card-gradient, linear-gradient(145deg, #ffffff, #f8f5fc)); box-shadow: var(--shadow-card, inset 0 1px 0 #ffffffcc, 0 16px 40px #3e286313); overflow: hidden; font-family: var(--sans); }
html body .hehun-input-picker[open] { display: flex; }
.hehun-input-picker::backdrop { background: #2b263d52; backdrop-filter: none; }
.hehun-input-picker-head { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 24px 14px; }
.hehun-input-picker-eyebrow { margin: 0 0 5px; color: var(--gold, #7959bc); font-size: 10px; letter-spacing: .06em; }
.hehun-input-picker-head h2 { margin: 0; color: var(--ink, #2b263d); font: 500 25px/1.4 var(--serif); }
.hehun-input-picker-close { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; padding: 0; border: 1px solid var(--line, rgba(121, 89, 188, .14)); border-radius: 50%; color: var(--ink-soft, #514a63); background: var(--surface-control, #fcfaff); font: 24px/1 var(--sans); cursor: pointer; }
.hehun-input-picker-trail { flex: 0 0 auto; display: flex; gap: 8px; padding: 0 24px 14px; }
.hehun-input-picker-trail button { min-height: 32px; padding: 5px 12px; border: 0; border-radius: 6px; color: var(--dim, #736b83); background: var(--surface-control, #fcfaff); font: 11px/1.4 var(--sans); cursor: pointer; }
.hehun-input-picker-trail button[aria-current] { color: var(--gold, #7959bc); background: linear-gradient(135deg, #f0e8fa, #f2edf9); }
.hehun-input-picker-trail button:disabled { opacity: .45; cursor: default; }
.hehun-input-picker-search { flex: 0 0 auto; width: calc(100% - 48px); min-width: 0; min-height: 42px; margin: 0 24px 13px; padding: 9px 12px; border: 1px solid var(--line, rgba(121, 89, 188, .14)); border-radius: 9px; color: var(--ink-soft, #514a63); background: var(--surface-control, #fcfaff); font: 13px/1.5 var(--sans); }
.hehun-input-picker-options { min-height: 0; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; padding: 3px 24px 16px; overflow-y: auto; overscroll-behavior: contain; }
.hehun-input-choice { min-width: 0; min-height: 44px; padding: 8px 3px; border: 1px solid var(--line, rgba(121, 89, 188, .14)); border-radius: 8px; color: var(--ink-soft, #514a63); background: var(--surface-control, #fcfaff); font: 12px/1.4 var(--sans); cursor: pointer; }
.hehun-input-choice[aria-pressed='true'] { border-color: #7959bc78; color: var(--gold, #7959bc); background: linear-gradient(135deg, #f0e8fa, #f2edf9); }
.hehun-input-choice:hover { border-color: var(--line-strong, rgba(121, 89, 188, .29)); background: var(--surface-raised, #f2edf9); }
.hehun-input-picker :is(button,input):focus-visible { outline: 2px solid var(--gold, #7959bc); outline-offset: 1px; }
.hehun-input-picker[data-step='day'] .hehun-input-picker-options { grid-template-columns: repeat(7,minmax(0,1fr)); }
.hehun-input-picker[data-step='shichen'] .hehun-input-picker-options { grid-template-columns: repeat(2,minmax(0,1fr)); }
.hehun-input-picker:is([data-step='province'],[data-step='city']) .hehun-input-picker-options { grid-template-columns: repeat(3,minmax(0,1fr)); }
.hehun-input-picker-message { flex: 0 0 auto; margin: 0; padding: 0 24px; color: var(--faint, #80768f); font-size: 11px; line-height: 1.6; }
.hehun-input-picker-message:empty { display: none; }
.hehun-input-picker-foot { flex: 0 0 auto; display: flex; justify-content: space-between; padding: 12px 24px 18px; border-top: 1px solid #7959bc24; }
.hehun-input-picker-foot button { min-height: 40px; padding: 6px 12px; border: 0; border-radius: 7px; color: var(--ink-soft, #514a63); background: var(--surface-control, #fcfaff); font: 12px/1.5 var(--sans); cursor: pointer; }
.hehun-input-picker [hidden] { display: none !important; }
@media(min-width:1280px) {
  :is(.hehun-input-date,.hehun-input-time) .hehun-input-value { grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 9px; }
  html body #hehunForm .hehun-input-time .hehun-input-segment button { padding-inline: 8px; font-size: 10px; }
}
@media(max-width:760px) {
  html body #hehunForm.hehun-input-simple .profile-grid { grid-template-columns: 1fr; gap: 22px; }
  html body #hehunForm .hehun-input-card { padding: 20px 17px; }
  html body #hehunForm .hehun-input-card legend strong { font-size: 22px; }
  .hehun-input-row { grid-template-columns: 62px minmax(0,1fr); gap: 10px; padding: 15px 0; }
  .hehun-input-label { font-size: 11px; }
  html body #hehunForm .hehun-input-segment button { padding-inline: 9px; font-size: 10px; }
  html body #hehunForm .hehun-input-trigger { font-size: 12px; padding-inline: 10px; }
  html body .hehun-input-picker { width: calc(100% - 22px); max-height: calc(100dvh - 32px); border-radius: 17px; }
  .hehun-input-picker-head { padding: 19px 17px 13px; }
  .hehun-input-picker-head h2 { font-size: 23px; }
  .hehun-input-picker-trail { padding-inline: 17px; }
  .hehun-input-picker-search { width: calc(100% - 34px); margin-inline: 17px; font-size: 16px; }
  .hehun-input-picker-options { gap: 7px; padding-inline: 17px; }
  .hehun-input-picker-foot { padding-inline: 17px; }
}
@media(max-width:360px) {
  html body #hehunForm .hehun-input-card { padding-inline: 12px; }
  .hehun-input-row { grid-template-columns: 56px minmax(0,1fr); gap: 7px; }
  html body #hehunForm .hehun-input-segment button { padding-inline: 6px; font-size: 9px; }
  .hehun-input-picker-options { gap: 5px; padding-inline: 13px; }
  .hehun-input-choice { font-size: 11px; }
}
