.natal-page-body { background: radial-gradient(circle at 75% 5%, rgba(126,99,165,.13), transparent 30rem), #09090f; }
.natal-panel { display:block; border-color: rgba(180,163,209,.2); background: linear-gradient(140deg,rgba(36,26,46,.97),rgba(19,18,27,.97)); }
.natal-intro { margin:20px 0; }
.natal-eyebrow { margin:0 0 9px; color:#c5b2dd; font-size:.76rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.natal-profile { align-content:start; }
.natal-profile .participant-profile__number { flex:none; }
.natal-profile .profile-field > label:not(.natal-checkbox) { color:#d7bdc8; font-size:.7rem; font-weight:800; }
.natal-profile .profile-name-wrap input { font-size:16px; color-scheme:dark; }
.natal-profile input:disabled,.natal-profile button:disabled { opacity:.45; }
.natal-profile small,.natal-attribution { display:block; color:#b4a8bf; font-size:.7rem; font-weight:400; line-height:1.45; }
.natal-profile legend small,.natal-profile label > small { display:inline; margin-left:5px; }
.natal-profile [hidden] { display:none; }
.natal-city-options { padding:4px; max-height:180px; overflow:auto; overscroll-behavior:contain; border:1px solid #8e75a5; border-radius:12px; background:#251e2e; }
.natal-city-options[hidden] { display:none; }
.natal-city-options button { display:block; width:100%; min-height:44px; padding:8px 10px; border:0; border-radius:9px; text-align:left; color:#eee2f6; background:transparent; font:inherit; font-size:.8rem; line-height:1.45; cursor:pointer; }
.natal-city-options button:hover,.natal-city-options button[aria-selected='true'],.natal-city-options button:focus-visible { background:#493854; outline:0; }
.natal-checkbox { display:flex; align-items:center; gap:8px; min-height:32px; color:#d9ccdf; font-size:.72rem; cursor:pointer; }
.natal-checkbox input { width:18px; height:18px; margin:0; accent-color:#dba0b6; flex:none; }
.natal-panel .natal-error { margin:12px 0; color:#f1b1be; font-size:.8rem; }
.natal-error:empty { display:none; }
.natal-actions,.natal-result-actions { display:flex; gap:12px; flex-wrap:wrap; }
.natal-actions { margin-top:16px; }
.natal-actions .compatibility-primary { width:100%; }
.natal-form + .natal-disclaimer { margin-top:14px; font-size:.7rem; }
.natal-primary,.natal-secondary { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:13px 22px; border:1px solid transparent; border-radius:14px; font:inherit; font-size:.88rem; font-weight:800; text-align:center; text-decoration:none; cursor:pointer; }
.natal-primary { color:#241b30; background:linear-gradient(135deg,#ded0ef,#b5a0cf); }
.natal-secondary { color:#e3d6ee; background:rgba(177,151,204,.08); border-color:#564363; }
.natal-primary:disabled { opacity:.65; cursor:wait; }
.natal-primary:focus-visible,.natal-secondary:focus-visible { outline:2px solid #d8c7ef; outline-offset:3px; }
.natal-disclaimer { margin:24px 0 0; color:#ae9eb7; font-size:.78rem; line-height:1.6; }
.natal-attribution { margin:10px 0 0; }
.natal-attribution a { color:#c0b0d0; }
.natal-result-head { display:flex; gap:20px; align-items:center; margin:28px 0; }
.natal-result-symbol { display:grid; place-items:center; flex:none; width:76px; height:76px; border:1px solid #725287; border-radius:24px; background:radial-gradient(circle at 20% 10%,#544061,#281b36); color:#e4d1f5; font-size:2.6rem; }
.natal-result-head h1 { margin:0; color:#f8f1fc; font-size:clamp(1.5rem,3vw,2rem); line-height:1.25; }
.natal-highlights { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:24px 0; }
.natal-highlights section { padding:16px; border:1px solid #4d3c59; border-radius:15px; background:rgba(126,99,153,.09); }
.natal-highlights span { display:block; margin-bottom:9px; color:#b8a7c4; font-size:.77rem; }
.natal-highlights strong { color:#eaddf3; font-size:.94rem; line-height:1.4; }
.natal-full { margin-top:32px; padding-top:25px; border-top:1px solid #483450; }
.natal-full h2,.natal-locked h2 { margin:0 0 16px; color:#f3eaf8; font-size:1.35rem; line-height:1.3; }
.natal-analysis-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.natal-analysis { padding:20px; border:1px solid #44304e; border-radius:17px; background:rgba(126,99,153,.07); }
.natal-analysis h3 { margin:0 0 13px; font-size:1.05rem; color:#eaddf3; line-height:1.35; }
.natal-analysis p,.natal-note p,.natal-conversations li { margin:0; color:#cdbed5; font-size:.96rem; line-height:1.7; }
.natal-conversations { margin:30px 0; }
.natal-conversations ol { display:grid; gap:16px; margin:0; padding-left:23px; }
.natal-conversations li::marker { color:#c5a8dc; font-weight:800; }
.natal-note { padding:18px; margin:22px 0; border:1px solid #4a3656; border-radius:15px; }
.natal-note strong { display:block; margin-bottom:9px; color:#e1d2eb; }
.natal-locked { margin:28px 0; padding:24px; border:1px solid #665072; border-radius:20px; background:linear-gradient(140deg,rgba(99,70,119,.18),rgba(52,38,66,.18)); }
.natal-locked>p:not(.natal-eyebrow) { color:#cdbed5; line-height:1.6; font-size:.94rem; }
.natal-locked-topics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:22px 0; }
.natal-locked-topics span { padding:12px; border:1px solid #503b5c; border-radius:11px; color:#d7c7e2; font-size:.84rem; line-height:1.4; }
.natal-locked>small { display:block; margin:12px 0 0; color:#b2a1be; font-size:.76rem; }
.natal-result-actions { margin-top:28px; }
@media(max-width:600px) {
  .natal-profile-grid,.natal-highlights,.natal-analysis-grid { grid-template-columns:1fr; }
  .natal-result-head { display:block; }
  .natal-result-symbol { width:60px; height:60px; margin-bottom:20px; }
  .natal-locked { padding:19px; }
  .natal-actions .natal-primary,.natal-locked .natal-primary { flex:1; width:100%; }
  .natal-analysis { padding:18px; }
}
:root[data-theme='light'] .natal-panel { background:#faf7ff; border-color:#d6c8e4; }
:root[data-theme='light'] .natal-profile .profile-name-wrap input { color:#30263b; color-scheme:light; }
:root[data-theme='light'] .natal-profile .profile-name-wrap { background:#fff; border-color:#cbb9d8; }
:root[data-theme='light'] .natal-profile .profile-name-wrap input { background:transparent; }
:root[data-theme='light'] .natal-profile .profile-name-done:not(.is-ready) { background:#eee5f6; color:#765b80; }
:root[data-theme='light'] .natal-profile .gender-option span { color:#675573; background:#fff; border-color:#cbb9d8; }
:root[data-theme='light'] .natal-profile .gender-option input:checked + span { color:#26161e; background:#dba0b6; border-color:#dba0b6; }
:root[data-theme='light'] .natal-profile legend,:root[data-theme='light'] .natal-profile .participant-profile__head span:last-child { color:#776286; }
:root[data-theme='light'] .natal-analysis p,:root[data-theme='light'] .natal-note p,:root[data-theme='light'] .natal-conversations li,:root[data-theme='light'] .natal-locked>p:not(.natal-eyebrow) { color:#675573; }
:root[data-theme='light'] .natal-result-head h1,:root[data-theme='light'] .natal-full h2,:root[data-theme='light'] .natal-locked h2,:root[data-theme='light'] .natal-analysis h3,:root[data-theme='light'] .natal-highlights strong,:root[data-theme='light'] .natal-profile .profile-field > label,:root[data-theme='light'] .natal-checkbox { color:#352541; }
:root[data-theme='light'] .natal-city-options { background:#fbf6ff; }
:root[data-theme='light'] .natal-city-options button { color:#352541; }
:root[data-theme='light'] .natal-city-options button:hover,:root[data-theme='light'] .natal-city-options button[aria-selected='true'] { background:#e9dbee; }
:root[data-theme='light'] .natal-eyebrow,:root[data-theme='light'] .natal-highlights span,:root[data-theme='light'] .natal-profile small,:root[data-theme='light'] .natal-disclaimer,:root[data-theme='light'] .natal-attribution,:root[data-theme='light'] .natal-locked>small { color:#776286; }
:root[data-theme='light'] .natal-note strong,:root[data-theme='light'] .natal-locked-topics span,:root[data-theme='light'] .natal-secondary { color:#493357; }
:root[data-theme='light'] .natal-highlights section,:root[data-theme='light'] .natal-analysis,:root[data-theme='light'] .natal-note,:root[data-theme='light'] .natal-locked,:root[data-theme='light'] .natal-locked-topics span { border-color:#c9b4d6; }
:root[data-theme='light'] .natal-profile input::placeholder,:root[data-theme='light'] .natal-attribution a { color:#80678f; }
:root[data-theme='light'] .natal-error { color:#aa3452; }
:root[data-theme='light'] .natal-panel .compatibility-back { color:#68487c; border-color:#cbb9d8; background:#eee5f6; }
