
  .wpsim {
    --accent: #3157d5;
    --accent-dark: #223ca4;
    --soft: #edf2ff;
    --ink: #17233c;
    --muted: #637089;
    position: relative;
    isolation: isolate;
    width: min(100%, 820px);
    margin: 34px auto;
    overflow: hidden;
    border: 1px solid #dce4ef;
    border-radius: 24px;
    color: var(--ink);
    background: #fff;
    box-shadow: 0 18px 55px rgba(27, 42, 76, .12);
    font: 400 16px/1.5 Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
  }
  .wpsim *, .wpsim *::before, .wpsim *::after { box-sizing: border-box; }
  .wpsim [hidden] { display: none !important; }
  .wpsim button, .wpsim input, .wpsim select { font: inherit; }
  .wpsim :focus-visible { outline: 3px solid #f6b73c; outline-offset: 3px; }
  .wpsim__hero { position: relative; min-height: 210px; display: flex; align-items: flex-end; overflow: hidden; padding: 27px; color: #fff; background: #17233c; }
  .wpsim__hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .wpsim__hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(13,24,48,.94), rgba(13,24,48,.62) 60%, rgba(13,24,48,.2)); }
  .wpsim__heading { position: relative; z-index: 2; width: min(100%, 620px); }
  .wpsim__eyebrow { margin: 0 0 8px; color: #dbe6ff; font-size: .72rem; line-height: 1; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
  .wpsim__hero h2 { margin: 0; color: #fff; font-size: clamp(1.7rem, 5vw, 2.6rem); line-height: 1.04; letter-spacing: -.045em; }
  .wpsim__hero p:last-child { margin: 10px 0 0; color: #e8edfa; font-size: .9rem; }
  .wpsim__badge { position: absolute; z-index: 3; top: 16px; right: 16px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.36); border-radius: 999px; color: #fff; background: rgba(10,20,42,.52); backdrop-filter: blur(9px); font-size: .69rem; font-weight: 850; }
  .wpsim__body { display: grid; grid-template-columns: minmax(0,.93fr) minmax(300px,1.07fr); gap: 24px; padding: clamp(19px, 5vw, 32px); }
  .wpsim__form { display: grid; align-content: start; gap: 14px; margin: 0; }
  .wpsim__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .wpsim__field { display: grid; min-width: 0; gap: 6px; }
  .wpsim__field--wide { grid-column: 1 / -1; }
  .wpsim__field label, .wpsim__label { color: #293852; font-size: .77rem; font-weight: 850; }
  .wpsim__field small { color: #778399; font-size: .69rem; line-height: 1.35; }
  .wpsim__input { position: relative; }
  .wpsim__prefix, .wpsim__suffix { position: absolute; z-index: 1; top: 50%; transform: translateY(-50%); color: #7b879c; font-size: .73rem; font-weight: 800; pointer-events: none; }
  .wpsim__prefix { left: 12px; }
  .wpsim__suffix { right: 11px; }
  .wpsim input, .wpsim select { width: 100%; min-height: 47px; border: 1px solid #cbd5e4; border-radius: 11px; padding: 10px 12px; color: #17233c; background: #fff; }
  .wpsim__input input { padding-left: 39px; }
  .wpsim__input--suffix input { padding-left: 12px; padding-right: 50px; }
  .wpsim input:focus, .wpsim select:focus { border-color: var(--accent); outline: 0; box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent), transparent 87%); }
  .wpsim__check { display: flex; align-items: flex-start; gap: 9px; padding: 10px; border: 1px solid #d9e1ed; border-radius: 11px; color: #4d5b72; background: #f8fafd; cursor: pointer; font-size: .73rem; }
  .wpsim__check input { flex: 0 0 auto; width: 17px; min-height: 17px; margin-top: 2px; accent-color: var(--accent); }
  .wpsim__actions { display: flex; flex-wrap: wrap; gap: 9px; }
  .wpsim__button { display: inline-flex; min-height: 47px; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 12px; padding: 11px 16px; color: #fff; background: var(--accent); box-shadow: 0 9px 22px color-mix(in srgb, var(--accent), transparent 74%); cursor: pointer; text-decoration: none; font-weight: 850; transition: transform .18s ease, filter .18s ease; }
  .wpsim__button:hover { filter: brightness(.9); transform: translateY(-1px); }
  .wpsim__button--soft { color: var(--accent); background: var(--soft); box-shadow: none; }
  .wpsim__button--small { min-height: 39px; padding: 8px 12px; font-size: .75rem; }
  .wpsim__result { position: relative; min-height: 288px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--accent), transparent 78%); border-radius: 18px; padding: 22px; background: linear-gradient(145deg, var(--soft), #fff 78%); }
  .wpsim__result::after { content: ""; position: absolute; z-index: 0; right: -58px; bottom: -62px; width: 145px; height: 145px; border: 27px solid color-mix(in srgb, var(--accent), transparent 90%); border-radius: 50%; }
  .wpsim__result > * { position: relative; z-index: 1; }
  .wpsim__empty { display: grid; min-height: 240px; place-content: center; justify-items: center; color: #68758d; text-align: center; }
  .wpsim__empty-icon { display: grid; width: 56px; height: 56px; place-items: center; margin-bottom: 11px; border-radius: 18px; color: var(--accent); background: #fff; box-shadow: 0 9px 24px rgba(24,39,74,.12); font-size: 1.45rem; font-weight: 900; }
  .wpsim__empty strong { color: #2e3c58; font-size: .95rem; }
  .wpsim__empty p { max-width: 270px; margin: 4px 0 0; font-size: .74rem; }
  .wpsim__result-label { margin: 0 0 5px; color: var(--accent); font-size: .67rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
  .wpsim__value { margin: 0; color: #17233c; font-size: clamp(1.9rem, 6vw, 2.9rem); line-height: 1; font-weight: 950; letter-spacing: -.055em; }
  .wpsim__lead { margin: 9px 0 16px; color: #5d6a82; font-size: .78rem; }
  .wpsim__metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .wpsim__metric { min-width: 0; padding: 10px; border: 1px solid rgba(210,220,235,.88); border-radius: 11px; background: rgba(255,255,255,.78); }
  .wpsim__metric span { display: block; color: #7a869a; font-size: .63rem; font-weight: 800; }
  .wpsim__metric strong { display: block; margin-top: 2px; color: #263650; font-size: .82rem; overflow-wrap: anywhere; }
  .wpsim__breakdown { display: grid; gap: 6px; margin-top: 11px; }
  .wpsim__breakdown div { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 6px; border-bottom: 1px dashed #d2dbea; color: #5f6e86; font-size: .7rem; }
  .wpsim__breakdown strong { color: #253552; text-align: right; }
  .wpsim__note { display: flex; gap: 8px; padding: 10px 11px; border-radius: 10px; color: #5f6d83; background: #f4f7fb; font-size: .68rem; line-height: 1.42; }
  .wpsim__note b { color: #30405c; }
  .wpsim__error { min-height: 1em; margin: 0; color: #a62d35; font-size: .71rem; font-weight: 750; }
  .wpsim__status { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 9px; padding: 6px 9px; border-radius: 999px; color: #176c4d; background: #ddf7eb; font-size: .66rem; font-weight: 900; }
  .wpsim__status--warn { color: #835416; background: #fff0c8; }
  .wpsim__status--neutral { color: #40506a; background: #e7ecf4; }
  .wpsim__quote { margin: 0; color: #1d2c47; font: 700 clamp(1.35rem, 5vw, 2.1rem)/1.22 Georgia, serif; letter-spacing: -.025em; }
  .wpsim__quote::before { content: "“"; display: block; height: 28px; color: var(--accent); font-size: 3.7rem; line-height: .75; }
  .wpsim__reference { margin: 13px 0 0; color: var(--accent); font-size: .72rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
  .wpsim__result-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
  .wpsim__zodiac { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin-top: 13px; }
  .wpsim__zodiac div { padding: 9px; border-radius: 10px; background: rgba(255,255,255,.8); }
  .wpsim__zodiac b { display: block; margin-bottom: 3px; color: var(--accent); font-size: .62rem; letter-spacing: .07em; text-transform: uppercase; }
  .wpsim__zodiac span { color: #4e5d75; font-size: .68rem; line-height: 1.35; }
  .wpsim__map { position: relative; height: 92px; overflow: hidden; margin: 10px 0; border-radius: 12px; background: repeating-linear-gradient(35deg,#e6f4f1 0 17px,#d3e9e5 17px 19px,#f6faf9 19px 36px); }
  .wpsim__map::before, .wpsim__map::after { content: ""; position: absolute; left: -20%; width: 140%; height: 7px; border-radius: 99px; background: rgba(255,255,255,.92); transform: rotate(-12deg); }
  .wpsim__map::before { top: 29%; } .wpsim__map::after { bottom: 24%; transform: rotate(18deg); }
  .wpsim__pin { position: absolute; z-index: 2; left: 50%; top: 50%; display: grid; width: 38px; height: 38px; place-items: center; border: 5px solid #fff; border-radius: 50% 50% 50% 8px; color: #fff; background: var(--accent); box-shadow: 0 6px 14px rgba(25,51,67,.2); transform: translate(-50%,-56%) rotate(-45deg); }
  .wpsim__pin span { transform: rotate(45deg); }
  .wpsim__footer { display: flex; justify-content: space-between; gap: 12px; padding: 11px 20px; border-top: 1px solid #e4eaf3; color: #7a869a; background: #fbfcfe; font-size: .62rem; }
  @media (max-width: 700px) {
    .wpsim { margin: 26px auto; border-radius: 19px; }
    .wpsim__hero { min-height: 195px; padding: 22px 19px; }
    .wpsim__heading { padding-top: 34px; }
    .wpsim__body { grid-template-columns: 1fr; padding: 17px 14px 21px; }
  }
  @media (max-width: 460px) {
    .wpsim__fields, .wpsim__metrics, .wpsim__zodiac { grid-template-columns: 1fr; }
    .wpsim__field--wide { grid-column: auto; }
    .wpsim__actions .wpsim__button { width: 100%; }
    .wpsim__footer { flex-direction: column; }
  }
  @media (prefers-reduced-motion: reduce) { .wpsim * { scroll-behavior: auto !important; transition-duration: .01ms !important; } }

/* === Kokoro/Shiro: endurecimento mobile + isolamento === */
.wpsim{ max-width:100%!important; }
.wpsim, .wpsim *{ overflow-wrap:anywhere; }
@media (max-width:560px){
  .wpsim__fields{ grid-template-columns:1fr!important; }
  .wpsim__field--wide{ grid-column:auto!important; }
  .wpsim__metrics, .wpsim__zodiac{ grid-template-columns:1fr!important; }
  .wpsim__actions .wpsim__button{ width:100%; }
  .wpsim__footer{ flex-direction:column; gap:4px; }
  .wpsim__hero h2{ font-size:1.5rem; }
  .wpsim__hero p:last-child{ font-size:.84rem; }
}


/* coluna única: form em cima, resultado embaixo (fluxo do gate). Conteúdo ALINHADO À ESQUERDA (original). */
.wpsim__body{ grid-template-columns:1fr!important; }
