.kj-papa{max-width:1060px;margin:2rem auto;padding:clamp(1rem,3vw,2.5rem);background:#fff;border:1px solid #ddd8c8;border-radius:18px;color:#262223;line-height:1.6}
.kj-papa h2{font-size:clamp(1.4rem,3vw,2rem);line-height:1.2}
.kj-papa-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0}
.kj-papa fieldset{min-width:0;border:1px solid #ddd8c8;border-radius:12px;padding:1rem;display:grid;grid-template-columns:minmax(5rem,1fr) minmax(0,2fr);gap:.7rem;align-items:center}
.kj-papa legend{font-weight:700;padding:0 .35rem}
.kj-papa select,.kj-papa input{max-width:100%;width:100%;padding:.55rem;border:1px solid #85828b;border-radius:7px;background:#fff;color:#262223}
.kj-papa button{background:#332252;color:#fff;border:0;border-radius:9px;padding:.8rem 1.2rem;font-weight:700;cursor:pointer}
.kj-papa button:focus-visible,.kj-papa select:focus-visible,.kj-papa input:focus-visible,.kj-papa summary:focus-visible{outline:3px solid #ffaf36;outline-offset:2px}
.kj-papa-birth{grid-column:1/-1;border-top:1px solid #ddd8c8;margin-top:.8rem;padding-top:.9rem;display:grid;grid-template-columns:minmax(5rem,1fr) minmax(0,2fr);gap:.65rem}
.kj-papa-birth summary,.kj-papa-birth p,.kj-papa-birth button{grid-column:1/-1}
.kj-papa-birth summary{cursor:pointer;font-weight:700}
.kj-papa-birth:not([open]){display:block}
.kj-papa-birth-status{font-weight:600}
.kj-papa-output{margin-top:1.5rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.kj-papa-output[hidden]{display:none}
.kj-papa-output section{min-width:0;overflow:auto}
.kj-papa-output table{border-collapse:collapse;width:100%;min-width:280px}
.kj-papa-output td,.kj-papa-output th{padding:.45rem;border-bottom:1px solid #ddd8c8;text-align:left}
.kj-papa-summary{grid-column:1/-1;font-weight:600}
.kj-papa-method{margin-top:1.7rem;padding:1rem;background:#f7f4ef;border-radius:9px}
@media(max-width:720px){.kj-papa-pair,.kj-papa-output{grid-template-columns:1fr}}

.kj-papa [hidden]{display:none!important}
.kj-papa .kj-timezone-options{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.7rem;margin:.7rem 0}
.kj-papa .kj-timezone-options label{display:grid;gap:.3rem;min-width:0;font-weight:600}
.kj-papa .kj-timezone-options p{grid-column:1/-1;margin:.3rem 0;font-size:.9rem}
.kj-papa .kj-timezone-options input,.kj-papa .kj-timezone-options select{min-width:0;font:inherit}
