.natal-section { overflow: clip; }
.natal-section::before { content: ""; position: absolute; width: 720px; height: 720px; right: -440px; top: 220px; pointer-events: none; border-radius: 50%; background: radial-gradient(circle, rgba(179,143,182,.21), transparent 67%); }
.natal-section .shell { position: relative; }
.natal-layout { display: grid; grid-template-columns: minmax(0,1.02fr) minmax(0,.98fr); gap: 20px; align-items: stretch; }
.natal-panel { min-width: 0; margin: 0; padding: clamp(24px,3.2vw,39px); border: 1px solid #d7c8b9; border-radius: 22px; background: rgba(255,251,244,.94); box-shadow: 0 20px 58px rgba(59,37,55,.06); }
.natal-step { display: block; margin-bottom: 14px; color: #947143; font-size: 10px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.natal-panel h3, .natal-purchase h3, .natal-report h3 { margin: 0 0 12px; color: #36273c; font: normal clamp(29px,3vw,40px)/1.12 Georgia, "Times New Roman", serif; letter-spacing: -.045em; }
.natal-panel-lead { max-width: 540px; margin: 0 0 27px; color: #756b75; font-size: 14px; line-height: 1.68; }
.natal-input-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.natal-panel input[type="date"], .natal-panel input[type="time"], .natal-panel input[type="search"], .natal-panel select { width: 100%; min-height: 51px; padding: 12px 15px; border: 1px solid #d4c8ce; border-radius: 9px; color: #352a3a; background: #fffdfa; font: 14px "Segoe UI", Arial, sans-serif; }
.natal-panel input:focus, .natal-panel select:focus { border-color: #93729a; outline: none; box-shadow: 0 0 0 4px rgba(149,115,158,.14); }
.natal-panel input::-webkit-calendar-picker-indicator { cursor: pointer; opacity: .64; }
.natal-field-note { margin: 9px 0 20px; color: #867985; font-size: 11px; line-height: 1.55; }
.natal-place-field { position: relative; margin-top: 19px; }
.natal-place-options { position: absolute; z-index: 7; top: calc(100% + 5px); left: 0; right: 0; max-height: 260px; overflow: auto; margin: 0; padding: 5px; list-style: none; border: 1px solid #cbbbc9; border-radius: 10px; background: #fffcf7; box-shadow: 0 18px 45px rgba(51,34,56,.19); }
.natal-place-options li { margin: 0; }
.natal-place-options button { display: block; width: 100%; min-height: 38px; padding: 8px 11px; border: 0; border-radius: 6px; background: none; color: #392d41; text-align: left; font-size: 13px; }
.natal-place-options button:hover, .natal-place-options li.active button { background: #f0e6f1; color: #50375b; }
.natal-fold-wrap { margin: 14px 0 18px; padding: 15px; border: 1px solid #c9ac79; border-radius: 10px; background: #fbf0dc; }
.natal-fold-wrap .natal-field-note { margin-bottom: 0; }
.natal-status { min-height: 17px; margin: 12px 0 0; color: #6d5b75; font-size: 12px; line-height: 1.5; }
.natal-status.error { color: #a33c50; }
.natal-chart-panel { display: flex; flex-direction: column; align-items: stretch; background: radial-gradient(circle at 53% 39%, #473251, #251e36 73%); color: #f8ead5; border-color: #64506b; box-shadow: 0 30px 75px rgba(37,23,42,.18); }
.natal-chart-panel .natal-step { color: #e3c58a; }
.natal-chart-panel h3 { color: #fbefdc; }
.natal-wheel-host { display: grid; place-items: center; width: min(100%, 500px); aspect-ratio: 1; margin: auto; filter: drop-shadow(0 0 22px rgba(231,195,129,.12)); }
.natal-wheel-empty { width: 77%; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(238,204,146,.5); border-radius: 50%; background: repeating-conic-gradient(from 0deg, rgba(227,192,130,.18) 0deg 1deg, transparent 1deg 30deg), radial-gradient(circle, rgba(195,148,121,.18), transparent 55%); box-shadow: inset 0 0 0 24px rgba(223,188,132,.03), 0 0 0 30px rgba(223,188,132,.025); animation: natal-breathe 9s ease-in-out infinite; }
.natal-wheel-empty span { color: #f2d9a3; font: 75px Georgia, serif; text-shadow: 0 0 24px rgba(246,215,150,.36); }
@keyframes natal-breathe { 50% { transform: scale(1.025); filter: brightness(1.15); } }
.natal-wheel-svg { display: block; width: 100%; height: auto; overflow: visible; animation: natal-appear .8s cubic-bezier(.2,.7,.2,1) both; }
@keyframes natal-appear { from { opacity: 0; transform: scale(.9) rotate(-8deg); } to { opacity: 1; transform: scale(1) rotate(0); } }
.wheel-aura { fill: rgba(217,177,112,.045); stroke: rgba(231,193,134,.3); stroke-width: 1; }
.wheel-ring { fill: none; stroke: rgba(244,218,167,.67); stroke-width: 1; }
.wheel-zodiac-line { stroke: rgba(245,215,162,.56); stroke-width: 1.2; }
.wheel-zodiac-glyph { fill: #f4dfae; font: 21px Georgia, serif; text-anchor: middle; dominant-baseline: central; }
.wheel-house-line { stroke: rgba(237,215,190,.29); stroke-width: 1; }
.wheel-house-number { fill: #c6b0c9; font: 12px Georgia, serif; text-anchor: middle; dominant-baseline: middle; }
.wheel-planet-halo { fill: #44344f; stroke: #a9899c; stroke-width: 1.1; }
.wheel-planet-glyph { fill: #ffe5ae; font: 22px Georgia, serif; text-anchor: middle; dominant-baseline: central; }
.wheel-angle-line { stroke: #e7b682; stroke-width: 2; }
.wheel-angle-label { fill: #f6ca88; font: bold 12px "Segoe UI", Arial, sans-serif; text-anchor: middle; dominant-baseline: central; }
.wheel-center { fill: #2d223d; stroke: #dfc28c; stroke-width: 1.3; }
.wheel-center-sun { fill: #f4d49c; font: 38px Georgia, serif; text-anchor: middle; }
.wheel-center-label { fill: #d7c3bd; font: bold 8px "Segoe UI", Arial, sans-serif; letter-spacing: 1.5px; text-anchor: middle; }
.natal-preview-summary { min-height: 75px; margin: 4px 0 0; color: #d2c1d4; font-size: 13px; line-height: 1.55; }
.natal-preview-summary p { margin-bottom: 0; }
.natal-fact-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 14px; }
.natal-fact-chip { padding: 7px 10px; border: 1px solid rgba(230,198,153,.48); border-radius: 99px; color: #f7dcaa; background: rgba(236,196,151,.08); font-size: 11px; }
.natal-chart-note { color: #c2b6c8; font-size: 11px; }
.natal-purchase { display: grid; grid-template-columns: 1fr minmax(310px,.86fr); gap: clamp(25px,4vw,65px); align-items: start; margin-top: 24px; padding: clamp(25px,4vw,44px); border: 1px solid #cbb5bc; border-radius: 22px; background: linear-gradient(125deg, #faf5ef, #f0e5e9); box-shadow: 0 24px 56px rgba(60,42,62,.08); animation: natal-appear .65s ease-out both; }
.natal-purchase p { max-width: 630px; color: #665b66; font-size: 14px; line-height: 1.65; }
.natal-account-state { margin: 22px 0 0; color: #755078 !important; font-size: 12px !important; font-weight: 650; }
.natal-purchase-action { padding: 18px; border: 1px solid #e3d5cb; border-radius: 14px; background: #fffcf8; }
.natal-check { display: flex; align-items: flex-start; gap: 9px; margin: 0 0 15px; color: #584c59; font-size: 11px; font-weight: 500; line-height: 1.5; letter-spacing: 0; cursor: pointer; }
.natal-check input { flex: 0 0 17px; width: 17px; height: 17px; min-height: 0; margin: 0; padding: 0; accent-color: #755078; }
.natal-check span { flex: 1; }
.natal-check a { text-decoration-color: #b58cab; text-underline-offset: 2px; }
.natal-purchase-action .button { margin-top: 7px; }
.natal-purchase-action .natal-field-note { margin: 10px 0 0; }
.natal-restored-draft { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin: 0 0 20px; padding: 13px; border: 1px solid #bdae7f; border-radius: 9px; background: #fcf4dd; color: #6a5b4c; font-size: 11px; line-height: 1.5; }
.natal-restored-draft button { flex: 0 0 auto; padding: 2px 0; border: 0; background: none; color: #6b436e; text-decoration: underline; font-size: 11px; }
.natal-report { margin-top: 24px; padding: clamp(25px,4vw,45px); border: 1px solid #c6b9c9; border-radius: 22px; background: #fffcf7; box-shadow: 0 22px 55px rgba(63,45,68,.08); animation: natal-appear .7s ease-out both; }
.natal-report-lead { max-width: 680px; color: #5f5464; font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.natal-report-note { color: #8c7e89; font-size: 11px; line-height: 1.55; }
.natal-download { margin: 7px 0 15px; }
.natal-report-wheel { width: min(100%, 550px); margin: 30px auto; padding: 20px; border-radius: 50%; background: radial-gradient(circle, #483354, #251d36 77%); box-shadow: 0 18px 45px rgba(38,26,43,.18); }
.natal-report-sections { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 30px; }
.natal-report-section { min-width: 0; border: 1px solid #e1d3da; border-radius: 11px; background: #faf5f4; }
.natal-report-section summary { padding: 17px 19px; color: #47394b; font: 17px/1.3 Georgia, serif; cursor: pointer; }
.natal-report-section[open] { grid-column: 1 / -1; background: #fff9f4; border-color: #c5adbd; }
.natal-report-section p { margin: 0; padding: 0 19px 20px; color: #5b5361; font-size: 13px; line-height: 1.75; white-space: pre-line; overflow-wrap: anywhere; }
.natal-progress { display: block; width: min(100%,460px); height: 10px; margin: 24px 0 15px; accent-color: #88648c; }
.seller-identity { display: flex; align-items: center; gap: 16px; margin-top: 32px; padding: 18px 22px; border: 1px solid #d9cbb7; border-radius: 12px; background: rgba(255,251,245,.65); }
.seller-identity-mark { display: grid; flex: 0 0 35px; place-items: center; width: 35px; height: 35px; border: 1px solid #bf9b65; border-radius: 50%; color: #99734c; }
.seller-identity strong { display: block; margin-bottom: 3px; color: #423542; font-size: 12px; }
.seller-identity p { margin: 0; color: #6f6470; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
@media (max-width: 850px) {
  .natal-layout { grid-template-columns: 1fr; }
  .natal-chart-panel { min-height: 570px; }
  .natal-wheel-host { width: min(100%,470px); }
  .natal-purchase { grid-template-columns: 1fr; }
}
@media (max-width: 550px) {
  .natal-panel { padding: 22px; }
  .natal-input-grid { grid-template-columns: 1fr; gap: 13px; }
  .natal-chart-panel { min-height: 0; }
  .natal-wheel-host { width: min(100%,380px); }
  .natal-purchase, .natal-report { padding: 23px; }
  .natal-purchase-action { padding: 14px; }
  .natal-report-sections { grid-template-columns: 1fr; }
  .natal-report-section[open] { grid-column: auto; }
  .natal-restored-draft { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .natal-wheel-empty, .natal-wheel-svg, .natal-purchase, .natal-report { animation: none; }
}
