.sm-ec, .sm-ec * { box-sizing: border-box; }
.sm-ec {
  --sm-ink:#302b3a; --sm-muted:#675f70; --sm-violet:#7450a7; --sm-border:#e7e0ef;
  width:100%;max-width:820px;margin:32px auto;padding:0;
  border:1px solid var(--sm-border);border-radius:24px;
  overflow:hidden;background:#fff;color:var(--sm-ink);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  box-shadow:0 14px 35px rgba(69,46,84,.07);
}
.sm-ec__intro { padding:30px 32px 24px; background:linear-gradient(125deg,#faf0ff 0%,#fff3ee 100%); }
.sm-ec__eyebrow { margin:0 0 8px!important;color:#755195!important;font-size:12px!important;font-weight:750;letter-spacing:.13em;text-transform:uppercase; }
.sm-ec__intro h2 {font-size:clamp(1.35rem,3.5vw,2rem)!important;line-height:1.2!important;color:#32243d!important;margin:0 0 10px!important;font-weight:780;}
.sm-ec__intro p:last-child {font-size:1rem!important;line-height:1.6!important;color:var(--sm-muted)!important;margin:0!important;}
.sm-ec__form {padding:28px 32px 22px;}
.sm-ec__fields {display:grid;grid-template-columns:1fr 1fr;gap:19px 20px;margin-bottom:22px;}
.sm-ec__field {display:flex;flex-direction:column;gap:8px;min-width:0;}
.sm-ec__field--wide {grid-column:1 / -1;}
.sm-ec__field label {font-size:14px!important;color:var(--sm-ink);font-weight:720;}
.sm-ec input[type=date],.sm-ec select {
  display:block!important; width:100%!important;min-height:49px!important;
  margin:0!important;padding:10px 13px!important;border-radius:10px!important;
  border:1px solid #cfc5d9!important;background:#fff!important;color:var(--sm-ink)!important;
  font:inherit!important;font-size:16px!important;box-shadow:none!important;
}
.sm-ec input:focus,.sm-ec select:focus,.sm-ec button:focus-visible {outline:3px solid #e1cef3!important;outline-offset:2px;}
.sm-ec__field small {color:var(--sm-muted);line-height:1.5;font-size:12px;}
.sm-ec__button {
  display:flex!important;align-items:center;justify-content:center;gap:12px;
  width:100%;min-height:51px;padding:12px 18px!important;
  border:0!important;border-radius:12px!important;background:var(--sm-violet)!important;
  color:white!important;font-size:16px!important;line-height:1.35!important;
  font-weight:750!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer;
  transition:background .18s ease, transform .18s ease;
}
.sm-ec__button:hover {background:#5b3b89!important;transform:translateY(-1px);}
.sm-ec__error {margin:14px 0 0!important;padding:12px;border:1px solid #f4b8b8;background:#fff5f5;color:#922c37!important;border-radius:9px;font-size:14px!important;}
.sm-ec__result {margin:0 32px 28px;padding:25px;border-radius:16px;border:1px solid #e8d7f0;background:#f9f4fd;}
.sm-ec__result--boy {background:#f1f8ff;border-color:#d6eaf9;}
.sm-ec__result--girl {background:#fff3f7;border-color:#f9dfeb;}
.sm-ec__result-top {font-size:13px!important;font-weight:650;color:var(--sm-muted)!important;margin:0 0 10px!important;}
.sm-ec__prediction {display:flex;align-items:center;gap:13px;font-size:clamp(26px,5vw,37px);color:#5f3d89;line-height:1.15;}
.sm-ec__result--boy .sm-ec__prediction {color:#226594;}
.sm-ec__result--girl .sm-ec__prediction {color:#b04577;}
.sm-ec__prediction-icon {width:48px;height:48px;font-size:23px;display:grid;place-items:center;background:white;border-radius:14px;flex:none;}
.sm-ec__result-lede {font-size:14px!important;color:var(--sm-muted)!important;margin:12px 0 18px!important;}
.sm-ec__facts {display:grid;gap:10px;}
.sm-ec__facts > div {border-top:1px solid rgba(91,65,117,.13);padding:10px 0 0;display:flex;justify-content:space-between;gap:14px;font-size:13px;line-height:1.45;}
.sm-ec__facts span {color:var(--sm-muted);}
.sm-ec__facts strong {font-weight:720;text-align:right;}
.sm-ec__leap-note {margin:14px 0 0!important;font-size:13px!important;line-height:1.5!important;color:#564b65!important;}
.sm-ec__footer {padding:18px 32px 24px;background:#fcfbfd;border-top:1px solid #f2ebf4;}
.sm-ec__footer p {font-size:12.5px!important;line-height:1.65!important;color:var(--sm-muted)!important;margin:0!important;}
.sm-ec__footer p + p {margin-top:10px!important;}
.sm-ec [hidden] {display:none!important;}
@media(max-width:570px){
 .sm-ec {border-radius:16px;margin:22px auto;}
 .sm-ec__intro {padding:24px 19px 21px;}
 .sm-ec__form {padding:22px 19px;}
 .sm-ec__fields {grid-template-columns:1fr;gap:16px;}
 .sm-ec__result {margin:0 19px 23px;padding:20px 16px;}
 .sm-ec__footer {padding:18px 19px 21px;}
 .sm-ec__facts > div {flex-direction:column;gap:3px;}
 .sm-ec__facts strong {text-align:left;}
}
