.zp-ai-synthesis{box-sizing:border-box;width:100%;max-width:100%;margin-block:2rem;padding:clamp(1rem,3vw,2rem);border:1px solid var(--zp-ai-border,#a6a6a6);border-radius:12px;color:inherit;font:inherit;text-align:start;overflow-wrap:anywhere;scroll-margin-top:24px}
.zp-ai-synthesis-premium{border-color:var(--zp-ai-premium-border,#b18a49)}
.zp-ai-synthesis .zp-ai-title{margin:0 0 1.5rem;color:inherit;font-family:inherit}
.zp-ai-section+.zp-ai-section{margin-block-start:1.75rem}
.zp-ai-section-title{margin:0 0 .5rem;color:inherit;font-family:inherit}
.zp-ai-section p{margin:0 0 .85rem;line-height:1.8}
.zp-ai-notice,.zp-ai-disclosure,.zp-ai-privacy{font-size:.875em;line-height:1.6}
.zp-ai-disclosure{margin-block:1.5rem 0}
.zp-ai-profile-actions{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-block:1rem}
.zp-ai-profile-actions label,.zp-ai-people label{display:grid;gap:8px}
.zp-ai-people{margin-block:0 1rem}.zp-ai-people select{width:100%;max-width:100%}
.zp-ai-profile-actions[hidden],.zp-ai-people[hidden],.zp-ai-delete[hidden]{display:none!important}.zp-ai-profile-actions .zp-button{margin:0}.zp-ai-profile-status:empty{display:none}

/* Pending synthesis: truthful staged progress, no fake percentage. */
.zp-ai-pending{min-height:280px;display:flex;align-items:center}
.zp-ai-loader{width:min(720px,100%);margin-inline:auto}
.zp-ai-loader .zp-ai-title{margin-bottom:.45rem}
.zp-ai-loader-copy{margin:0 0 1.25rem;opacity:.78;line-height:1.65}
.zp-ai-loader-steps{list-style:none!important;margin:0!important;padding:0!important;display:grid;gap:.7rem}
.zp-ai-loader-step{display:flex;align-items:center;gap:.7rem;opacity:.52;transition:opacity .25s ease}
.zp-ai-loader-step.is-active,.zp-ai-loader-step.is-done{opacity:1}
.zp-ai-step-marker{width:18px;height:18px;box-sizing:border-box;border:2px solid currentColor;border-radius:50%;flex:0 0 18px;opacity:.45;position:relative}
.zp-ai-loader-step.is-done .zp-ai-step-marker{opacity:1}
.zp-ai-loader-step.is-done .zp-ai-step-marker:after{content:"";position:absolute;width:7px;height:4px;border-inline-start:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);inset:4px 0 0 3px}
[dir="rtl"] .zp-ai-loader-step.is-done .zp-ai-step-marker:after{transform:rotate(-45deg)}
.zp-ai-loader-step.is-active .zp-ai-step-marker{opacity:1;border-top-color:transparent;animation:zp-ai-spin .9s linear infinite}
@keyframes zp-ai-spin{to{transform:rotate(360deg)}}
.zp-ai-progress{height:4px;border-radius:999px;background:color-mix(in srgb,currentColor 12%,transparent);overflow:hidden;margin-block:1.35rem 1rem}
.zp-ai-progress span{display:block;height:100%;width:38%;border-radius:inherit;background:currentColor;opacity:.62;animation:zp-ai-progress 1.6s ease-in-out infinite}
@keyframes zp-ai-progress{0%{transform:translateX(-120%)}50%{transform:translateX(110%)}100%{transform:translateX(300%)}}
[dir="rtl"] .zp-ai-progress span{animation-name:zp-ai-progress-rtl}
@keyframes zp-ai-progress-rtl{0%{transform:translateX(120%)}50%{transform:translateX(-110%)}100%{transform:translateX(-300%)}}
.zp-ai-instant{min-height:3.4em;padding:12px 14px;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:9px;background:color-mix(in srgb,currentColor 4%,transparent)}
.zp-ai-instant-fact{display:none;margin:0!important;line-height:1.6}.zp-ai-instant-fact.is-visible{display:block;animation:zp-ai-fade .28s ease}
@keyframes zp-ai-fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.zp-ai-debug{display:inline-flex;max-width:100%;margin:0 0 1rem;padding:5px 8px;border:1px dashed currentColor;border-radius:6px;font:500 11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;opacity:.65;direction:ltr;overflow-wrap:anywhere}
.zp-ai-ready-toast{position:fixed;z-index:99999;inset-inline:16px;bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:520px;margin-inline:auto;padding:12px 14px;border:1px solid color-mix(in srgb,currentColor 24%,transparent);border-radius:10px;background:Canvas;color:CanvasText;box-shadow:0 8px 26px rgba(0,0,0,.18)}
.zp-ai-ready-button{appearance:none;border:1px solid currentColor;border-radius:7px;background:transparent;color:inherit;padding:7px 10px;font:inherit;cursor:pointer;white-space:nowrap}
@media (min-width:700px){.zp-ai-ready-toast{inset-inline:auto 24px;min-width:360px}}
@media (prefers-reduced-motion:reduce){.zp-ai-loader-step.is-active .zp-ai-step-marker,.zp-ai-progress span{animation:none}.zp-ai-instant-fact.is-visible{animation:none}}
@media print{.zp-ai-profile-actions,.zp-ai-people,.zp-ai-profile-status,.zp-ai-pending,.zp-ai-debug,.zp-ai-ready-toast{display:none!important}.zp-ai-synthesis{border:1px solid #777;color:#222;padding:5mm}.zp-ai-section{break-inside:avoid}.zp-ai-title,.zp-ai-section-title{break-after:avoid}}


/* Short, scannable Free synthesis sections. */
.zp-ai-points{margin:.4rem 0 0;padding-inline-start:1.25rem;display:grid;gap:.65rem}
.zp-ai-points li{line-height:1.65;padding-inline-start:.15rem}
.zp-ai-section-challenges,.zp-ai-section-guidance,.zp-ai-section-takeaways{padding-block:.25rem}
.zp-ai-section-takeaways{border-top:1px solid color-mix(in srgb,currentColor 18%,transparent);padding-top:1.25rem}

/* Full-report gate. The chart stays available; full interpretation can be unlocked by an integration. */
.zp-report-gate{margin-block:2rem;padding:clamp(1rem,3vw,1.75rem);border:1px solid var(--zp-ai-border,#a6a6a6);border-radius:12px;text-align:start}
.zp-report-gate-title{margin:0 0 1rem;font-family:inherit;color:inherit}
.zp-report-gate-points{margin:0;padding-inline-start:1.25rem;display:grid;gap:.7rem}
.zp-report-gate-cta{margin-top:1.35rem;padding-top:1.15rem;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent)}
.zp-report-gate-cta p{margin:0 0 .8rem}

/* Calculation state replaces only the ZodiacPress calculator content area. */
.zp-calculator-shell{width:100%;max-width:100%;color:var(--zpu-text,inherit)}
.zp-calculator-shell.zp-ai-calc-active>#zp-form-wrap,
.zp-calculator-shell.zp-ai-calc-active>#zp-report-wrap{display:none!important}
.zp-ai-calc-screen{box-sizing:border-box;width:100%;max-width:1060px;min-height:480px;margin:24px auto;display:grid;place-items:center;padding:clamp(24px,5vw,56px) 20px;background:var(--zpu-page-bg,transparent);color:var(--zpu-text,inherit);opacity:1;transition:opacity .18s ease}
.zp-ai-calc-screen.is-leaving{opacity:0;pointer-events:none}
.zp-ai-calc-inner{box-sizing:border-box;width:min(760px,100%);padding:clamp(24px,4vw,38px);border:1px solid var(--zpu-card-border,var(--zpu-border,color-mix(in srgb,currentColor 18%,transparent)));border-radius:var(--zpu-card-radius,var(--zpu-radius,16px));background:var(--zpu-card-bg,var(--zpu-surface,transparent));color:var(--zpu-card-text,var(--zpu-text,inherit));text-align:center;font-family:var(--zpu-font,inherit)}
.zp-ai-calc-icon-box{box-sizing:border-box;display:grid;place-items:center;width:78px;height:78px;margin:0 auto 18px;padding:var(--zpu-icon-padding,10px);border:var(--zpu-icon-border-width,0) var(--zpu-icon-border-style,solid) var(--zpu-icon-border-color,var(--zpu-border,transparent));border-radius:var(--zpu-icon-border-radius,18px);background:var(--zpu-icon-bg,transparent);color:var(--zpu-icon-color,var(--zpu-accent,currentColor))}
.zp-ai-calc-icon{display:block;width:100%;height:100%;background:currentColor;transition:opacity .16s ease;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.zp-ai-calc-icon.is-solar-system{-webkit-mask-image:url('../icons/calculate/solar-system-i.svg');mask-image:url('../icons/calculate/solar-system-i.svg')}
.zp-ai-calc-icon.is-sun{-webkit-mask-image:url('../icons/calculate/sun-i.svg');mask-image:url('../icons/calculate/sun-i.svg')}
.zp-ai-calc-icon.is-moon{-webkit-mask-image:url('../icons/calculate/moon-i.svg');mask-image:url('../icons/calculate/moon-i.svg')}
.zp-ai-calc-icon.is-saturn{-webkit-mask-image:url('../icons/calculate/saturn-i.svg');mask-image:url('../icons/calculate/saturn-i.svg')}
.zp-ai-calc-icon.is-venus{-webkit-mask-image:url('../icons/calculate/venus-i.svg');mask-image:url('../icons/calculate/venus-i.svg')}
.zp-ai-calc-icon.is-aquarius{-webkit-mask-image:url('../icons/calculate/aquarius-i.svg');mask-image:url('../icons/calculate/aquarius-i.svg')}
.zp-ai-calc-icon.is-aries{-webkit-mask-image:url('../icons/calculate/aries-i.svg');mask-image:url('../icons/calculate/aries-i.svg')}
.zp-ai-calc-icon.is-cancer{-webkit-mask-image:url('../icons/calculate/cancer-i.svg');mask-image:url('../icons/calculate/cancer-i.svg')}
.zp-ai-calc-icon.is-capricorn{-webkit-mask-image:url('../icons/calculate/capricorn-i.svg');mask-image:url('../icons/calculate/capricorn-i.svg')}
.zp-ai-calc-icon.is-gemini{-webkit-mask-image:url('../icons/calculate/gemini-i.svg');mask-image:url('../icons/calculate/gemini-i.svg')}
.zp-ai-calc-icon.is-leo{-webkit-mask-image:url('../icons/calculate/leo-i.svg');mask-image:url('../icons/calculate/leo-i.svg')}
.zp-ai-calc-icon.is-libra{-webkit-mask-image:url('../icons/calculate/libra-i.svg');mask-image:url('../icons/calculate/libra-i.svg')}
.zp-ai-calc-icon.is-pisces{-webkit-mask-image:url('../icons/calculate/pisces-i.svg');mask-image:url('../icons/calculate/pisces-i.svg')}
.zp-ai-calc-icon.is-sagittarius{-webkit-mask-image:url('../icons/calculate/sagittarius-i.svg');mask-image:url('../icons/calculate/sagittarius-i.svg')}
.zp-ai-calc-icon.is-scorpio{-webkit-mask-image:url('../icons/calculate/scorpio-i.svg');mask-image:url('../icons/calculate/scorpio-i.svg')}
.zp-ai-calc-icon.is-taurus{-webkit-mask-image:url('../icons/calculate/taurus-i.svg');mask-image:url('../icons/calculate/taurus-i.svg')}
.zp-ai-calc-icon.is-virgo{-webkit-mask-image:url('../icons/calculate/virgo-i.svg');mask-image:url('../icons/calculate/virgo-i.svg')}
.zp-ai-calc-title{margin:0!important;color:var(--zpu-title-color,var(--zpu-card-text,var(--zpu-text,inherit)))!important;font:700 clamp(22px,3vw,28px)/1.35 var(--zpu-font,inherit)!important;letter-spacing:-.015em!important}
.zp-ai-calc-message-wrap{box-sizing:border-box;min-height:68px;margin:16px auto 0;display:grid;place-items:center;padding:14px 18px;border:1px solid var(--zpu-border,color-mix(in srgb,currentColor 16%,transparent));border-radius:12px;background:var(--zpu-panel,color-mix(in srgb,currentColor 4%,transparent));color:var(--zpu-text,inherit)}
.zp-ai-calc-message{margin:0!important;font:600 15px/1.6 var(--zpu-font,inherit)!important;color:inherit!important;opacity:0;transform:translateY(3px);transition:opacity .16s ease,transform .16s ease}
.zp-ai-calc-message.is-visible{opacity:1;transform:none}
.zp-ai-calc-progress{max-width:420px;margin:14px auto 18px;background:color-mix(in srgb,var(--zpu-accent,currentColor) 13%,transparent)}
.zp-ai-calc-progress span{background:var(--zpu-accent,currentColor);opacity:.8}
.zp-ai-calc-points{list-style:none!important;margin:0 auto!important;padding:0!important;max-width:620px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;text-align:start}
.zp-ai-calc-point{display:flex;align-items:flex-start;gap:8px;margin:0!important;padding:0!important;color:var(--zpu-muted,color-mix(in srgb,currentColor 65%,transparent));font:400 12px/1.45 var(--zpu-font,inherit)!important;opacity:.62;transition:opacity .18s ease,color .18s ease}
.zp-ai-calc-point.is-active{opacity:.88;color:var(--zpu-text,inherit)}
.zp-ai-calc-point.is-done{opacity:.72}
.zp-ai-calc-point-marker{box-sizing:border-box;width:8px;height:8px;flex:0 0 8px;margin-top:.38em;border:1px solid currentColor;border-radius:50%}
.zp-ai-calc-point.is-active .zp-ai-calc-point-marker{background:var(--zpu-accent,currentColor);border-color:var(--zpu-accent,currentColor)}
.zp-ai-calc-point.is-done .zp-ai-calc-point-marker{background:currentColor}
@media(max-width:640px){.zp-ai-calc-screen{min-height:420px;margin:12px auto;padding:24px 14px}.zp-ai-calc-inner{padding:24px 18px}.zp-ai-calc-icon-box{width:66px;height:66px;margin-bottom:14px}.zp-ai-calc-title{font-size:22px!important}.zp-ai-calc-points{grid-template-columns:1fr}.zp-ai-calc-message-wrap{min-height:74px}}
@media(prefers-reduced-motion:reduce){.zp-ai-calc-screen,.zp-ai-calc-message,.zp-ai-calc-icon{transition:none}.zp-ai-calc-progress span{animation:none!important}}

/* Birth-form helper remarks are one continuous responsive paragraph. */
#zp-birthreport-form .zp-form-remarks{grid-column:1/-1;width:100%;margin:0 0 1rem!important;padding:0!important;color:var(--zpu-muted,inherit);font:400 12px/1.55 var(--zpu-font,inherit)!important}
#zp-birthreport-form .zp-form-remarks #zp-form-tip,#zp-birthreport-form .zp-form-remarks .zp-birth-time-note{font:inherit!important;color:inherit!important}
#zp-birthreport-form .zp-form-remarks strong{font-weight:400!important}
#zp-birthreport-form .zp-form-remarks-separator{display:inline-block;margin:0 .45em;color:currentColor;opacity:.65}


/* Identity + grammatical address: desktop 50% / 25% / 25%; mobile name then two half-width fields. */
#zp-birthreport-form .zp-ai-identity-row{grid-column:1/-1;width:100%;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:end;margin:0 0 12px!important;padding:0!important;box-sizing:border-box}
#zp-birthreport-form .zp-ai-identity-row>.zp-name-field,#zp-birthreport-form .zp-ai-subject-field{min-width:0;margin:0!important;padding:0!important;grid-column:auto!important}
#zp-birthreport-form .zp-ai-identity-row .zp-form-label{float:none!important;display:block!important;min-width:0!important;margin:0 0 6px!important;padding:0!important;font-size:13px!important;line-height:1.35!important;font-weight:600!important;color:var(--zpu-muted,#666)!important}
#zp-birthreport-form .zp-ai-identity-row .zp-input-text-wrap{display:block!important;overflow:visible!important;padding:0!important}
#zp-birthreport-form .zp-ai-identity-row input,#zp-birthreport-form .zp-ai-identity-row select{box-sizing:border-box;width:100%!important;max-width:100%!important;margin:0!important}
@media(max-width:700px){
  #zp-birthreport-form .zp-ai-identity-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  #zp-birthreport-form .zp-ai-identity-row>.zp-name-field{grid-column:1/-1!important}
  #zp-birthreport-form .zp-ai-identity-row>.zp-ai-subject-field{grid-column:auto!important}
}


/* Premium portrait: visually distinct without imposing a site-specific color palette. */
.zp-ai-synthesis-premium{border-width:1px;padding:clamp(1.2rem,3vw,2.25rem)}
.zp-ai-premium-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin:0 0 .75rem;padding:.34rem .62rem;border:1px solid currentColor;border-radius:999px;font-size:.72em;font-weight:700;line-height:1;letter-spacing:.02em;opacity:.72}
.zp-ai-synthesis-premium .zp-ai-section+.zp-ai-section{margin-block-start:2rem}
.zp-ai-synthesis-premium .zp-ai-section-title{margin-bottom:.7rem}
.zp-ai-synthesis-premium .zp-ai-section-contradictions,.zp-ai-synthesis-premium .zp-ai-section-resources,.zp-ai-synthesis-premium .zp-ai-section-growth{padding-block:.35rem}
.zp-ai-synthesis-premium .zp-ai-section-conclusion{margin-top:2.25rem;padding-top:1.25rem;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent)}
@media print{.zp-ai-premium-badge{border-color:#777;color:#222}}
