/* Shared reading roles. Approved artwork and cover composition remain owned by their source files. */
:root{--zx-reading-ink:#e8e4d8;--zx-reading-muted:#b9c4c1;--zx-reading-gold:#d7b77b;--zx-reading-rule:#405451;--zx-reading-surface:#0b171b}
/* Keep mobile browser autosizing consistent; browser zoom remains available. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
:is(dialog,.profile-purchase-dialog){inset:0;margin:auto!important;overflow:auto;max-height:calc(100dvh - 32px);max-width:calc(100vw - 32px);overscroll-behavior:contain}
dialog:focus-visible,summary:focus-visible{outline:2px solid var(--zx-reading-gold);outline-offset:4px}
:is(.confirmed-home,.report-preview,.share-gate){max-width:48rem;margin-inline:auto}
.zx-static-home :is(.confirmed-copy,.confirmed-scenes p,.confirmed-overuse p,.reading-preview-questions,.report-excerpt){max-width:65ch}
.zx-static-home .report-excerpt.is-annual .report-excerpt-context{display:block;font-size:1rem;line-height:1.9}
.zx-static-home .form-benefit{color:var(--zx-reading-ink);font-size:1rem;line-height:1.8;margin-bottom:1rem}
.zx-reading .report-chapter>.pad>h2{font:500 1.625rem/1.5 var(--serif);color:var(--zx-reading-gold);margin-bottom:1.75rem;padding-bottom:1rem}
.zx-reading .chapter-block p.report-conclusion{font:500 1.3125rem/1.8 var(--serif);color:#f1e7cf;margin:1.75rem 0;padding:1rem 0}
:is(.managed-reading-headline,.social-reading-headline){font:500 1.25rem/1.6 var(--serif);color:var(--zx-reading-gold);margin:1.5rem 0 .75rem}
:is(.managed-reading-conclusion,.social-reading-conclusion){font:500 1.1875rem/1.8 var(--serif);color:var(--zx-reading-ink);padding:1rem 0;margin:1.25rem 0;border-block:1px solid var(--zx-reading-rule)}
:is(.managed-chapter,.social-reading)>h3{font:500 1.5rem/1.5 var(--serif);color:var(--zx-reading-gold);margin:1rem 0 1.5rem}
:is(.managed-view,.managed-common-reading) p{font-size:1rem;line-height:1.9;color:var(--zx-reading-ink)}
:is(.managed-chapter,.social-reading) details{padding:.75rem 0;border-block:1px solid var(--zx-reading-rule);margin:1.25rem 0}
:is(.managed-chapter,.social-reading) summary{font-size:.9375rem;line-height:1.8;cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--zx-reading-gold)}
:is(.managed-chapter,.social-reading) :is(.managed-note,.social-note){font-size:.875rem;color:var(--zx-reading-muted);line-height:1.8}
:is(.managed-reading-action,.social-reading-action)>h4{font:500 1rem/1.6 var(--sans);color:var(--zx-reading-gold)}
#consent .box{overflow:auto;max-height:calc(100dvh - 32px)}
#consent details{margin:1rem 0}#consent summary{color:var(--zx-reading-gold);cursor:pointer;min-height:44px;display:flex;align-items:center}
#consentHint{color:var(--zx-reading-gold);font-size:.875rem}
:is(.zx-static-home,.zx-static-opening,.zx-reading) footer{font-size:.8125rem;line-height:1.8;color:var(--zx-reading-muted)}
.entry-pair-visual img{mask-image:radial-gradient(ellipse,#000 38%,transparent 76%);-webkit-mask-image:radial-gradient(ellipse,#000 38%,transparent 76%)}
@media(max-width:760px){
 .zx-reading .report-chapter>.pad>h2{font-size:1.375rem;margin-bottom:1.25rem;padding-bottom:.75rem}
 .zx-reading .chapter-block p.report-conclusion{font-size:1.125rem;line-height:1.8;margin:1.25rem 0;padding:.75rem 0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

:is(.synastry-brand img,.report-hero::before,.zx-entrance-symbol){mix-blend-mode:screen}
.zx-static-opening .zx-enter span{color:var(--zx-reading-ink)}
@media(max-width:759px){.zx-static-opening .zx-enter{background:#020a0e;border:1px solid var(--zx-reading-gold);height:auto;min-height:48px}.zx-static-opening .zx-enter span{font:1.1875rem/1.5 var(--sans,system-ui)}}

.zx-compatibility .site-header .brand img{mix-blend-mode:screen}

/* Dynamic feature sheets load later; preserve these semantic reading roles. */
.managed-view p.managed-reading-conclusion,.social-reading p.social-reading-conclusion{font:500 1.1875rem/1.8 var(--serif);color:var(--zx-reading-ink)}
.social-reading h4.social-reading-headline,.managed-view h4.managed-reading-headline{font:500 1.25rem/1.6 var(--serif);color:var(--zx-reading-gold)}
#social-detail .social-reading>h3{font:500 1.5rem/1.5 var(--serif);color:var(--zx-reading-gold);margin:1rem 0 1.5rem}
@media(max-width:600px){#social-detail .social-reading>h3{font-size:1.25rem}}

.chart-resume-dialog{box-sizing:border-box;width:min(480px,calc(100vw - 32px));padding:24px;background:#0b171b;color:#e8e4d8;border:1px solid #c9a85c66;border-radius:16px;font:1rem/1.8 system-ui,sans-serif}
.chart-resume-dialog::backdrop{background:#050916b8}.chart-resume-dialog h2,.chart-resume-panel h2{font:500 1.5rem/1.5 var(--serif,serif);color:#d7b77b}
.chart-resume-check{display:flex;align-items:flex-start;gap:10px;margin:20px 0;font: .9375rem/1.8 system-ui,sans-serif}.chart-resume-check input{flex:none;width:18px;height:18px;min-height:18px;margin:5px 0 0;accent-color:#c9a85c}
.chart-resume-button{display:block;width:100%;min-height:46px;margin:12px 0;padding:10px 16px;background:#c9a85c16;border:1px solid #c9a85c77;border-radius:10px;color:#e8e4d8;font:inherit;cursor:pointer}.chart-resume-button:disabled{opacity:.5;cursor:default}
.chart-resume-dialog a,.chart-resume-panel a{color:#d7b77b;overflow-wrap:anywhere;text-underline-offset:4px}.chart-resume-qr{display:block;margin:20px auto;width:min(240px,100%);height:auto}.chart-resume-panel{margin:20px auto;padding:24px;max-width:38rem;border:1px solid #405451;border-radius:12px;background:#0b171b;color:#e8e4d8;font:1rem/1.8 system-ui,sans-serif}
.chart-resume-dialog :focus-visible,.chart-resume-panel :focus-visible{outline:2px solid #d7b77b;outline-offset:3px}

/* The retained symbol is circular; soften only the square resource boundary. */
.zx-compatibility .site-header .brand img,.zx-entrance-symbol{border-radius:50%;mask-image:radial-gradient(circle closest-side,#000 92%,transparent 100%);-webkit-mask-image:radial-gradient(circle closest-side,#000 92%,transparent 100%)}

body.zx-static-opening .filing-footer,body.zx-static-home .filing-footer,body.zx-reading .filing-footer,html.zx-compatibility body .site-footer,html.zx-compatibility body .site-footer p{font-size:13px;line-height:1.8}

/* Long-form synastry: one reading scale in both readers, scoped away from forms. */
dialog.synastry-reading-dialog{width:min(44rem,calc(100vw - 24px));max-width:calc(100vw - 24px);background:#14202b;color:var(--zx-reading-ink)}
.synastry-reading-dialog .dialog-body{padding:2rem 2.5rem}
.synastry-reading-dialog :is(.managed-chapter,.social-reading){padding:2rem 0 .5rem;margin:1rem 0;border-top:1px solid var(--zx-reading-rule);font:1.0625rem/1.95 var(--sans);overflow-wrap:anywhere}
.synastry-reading-dialog :is(.managed-chapter,.social-reading) p{font:1.0625rem/1.95 var(--sans);color:var(--zx-reading-ink);margin:1rem 0;text-wrap:pretty}
.synastry-reading-dialog :is(.managed-chapter,.social-reading)>h3{font:500 1.5rem/1.55 var(--serif);color:var(--zx-reading-gold);margin:0 0 1.5rem;text-wrap:balance}
.synastry-reading-dialog :is(h4.managed-reading-headline,h4.social-reading-headline){font:500 1.25rem/1.7 var(--serif);color:var(--zx-reading-gold);margin:1.75rem 0 1rem;text-wrap:balance}
.synastry-reading-dialog :is(p.managed-reading-conclusion,p.social-reading-conclusion){font:500 1.1875rem/1.9 var(--serif);color:#f1e7cf;margin:1.5rem 0;padding:1.25rem 0;border-block:1px solid var(--zx-reading-rule)}
.synastry-reading-dialog :is(.managed-reading-action,.social-reading-action){margin:1.5rem 0}
.synastry-reading-dialog :is(.managed-reading-action,.social-reading-action)>h4{font:600 1rem/1.65 var(--sans);color:var(--zx-reading-gold);margin:0 0 .5rem}
.synastry-reading-dialog :is(.managed-reading-action,.social-reading-action)>p{margin:.5rem 0 1rem}
.synastry-reading-dialog :is(.managed-chapter,.social-reading) details{margin:1.5rem 0;padding:.5rem 0}
.synastry-reading-dialog :is(.managed-chapter,.social-reading) summary{font:500 1rem/1.8 var(--sans);gap:1rem;justify-content:space-between;list-style:none}
.synastry-reading-dialog :is(.managed-chapter,.social-reading) summary::-webkit-details-marker{display:none}
.synastry-reading-dialog :is(.managed-chapter,.social-reading) summary::after{content:"";width:.45rem;height:.45rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);flex:none;margin-right:.25rem}
.synastry-reading-dialog :is(.managed-chapter,.social-reading) details[open]>summary::after{transform:rotate(225deg)}
.synastry-reading-dialog :is(p.managed-note,p.social-note){font:.875rem/1.85 var(--sans);color:var(--zx-reading-muted)}
.synastry-reading-dialog .synastry-opening :is(.synastry-opening__paragraph,.synastry-opening__balance p){font:1.0625rem/1.95 var(--sans);color:var(--zx-reading-ink);text-wrap:pretty}
.synastry-reading-dialog .synastry-opening .synastry-opening__lead{font:1.1875rem/1.9 var(--serif);color:#f1e7cf}
.synastry-reading-dialog .synastry-opening :is(.synastry-opening__summary,.synastry-opening__identity,.synastry-opening__basis p,.synastry-opening__basis summary){font-size:.875rem;line-height:1.85;color:var(--zx-reading-muted)}
.synastry-reading-dialog .synastry-opening__balance :is(h3,h4){font:500 1.125rem/1.7 var(--serif);color:var(--zx-reading-gold)}
.synastry-reading-dialog .synastry-opening__reason-title{text-wrap:balance}
@media(max-width:600px){
 .synastry-reading-dialog .dialog-body{padding:1.25rem}
 .synastry-reading-dialog .synastry-opening{margin:12px 0 8px}
 .synastry-reading-dialog .synastry-opening__hero{padding:20px 0 16px}
 .synastry-reading-dialog .synastry-opening .synastry-opening__title{font-size:26px;line-height:1.4;margin:12px 0 8px}
 .synastry-reading-dialog .synastry-opening .synastry-opening__tagline{font-size:16px;line-height:1.8}
 .synastry-reading-dialog .synastry-opening__reasons{padding-block:20px;gap:20px}
 .synastry-reading-dialog .synastry-opening .synastry-opening__reason-title{font-size:18px;line-height:1.6;text-wrap:pretty}
 .synastry-reading-dialog .synastry-opening__balance{padding:1rem}
 :is(.managed-chapter,.social-reading)>h3{font-size:1.25rem}
 .synastry-reading-dialog :is(.managed-chapter,.social-reading){padding:1.25rem 0 .25rem;margin:.5rem 0;font-size:1rem;line-height:1.8}
 .synastry-reading-dialog :is(.managed-chapter,.social-reading) p{font-size:1rem;line-height:1.8;margin:.75rem 0}
 .synastry-reading-dialog :is(.managed-chapter,.social-reading)>h3{font-size:1.25rem;line-height:1.5;margin-bottom:1rem}
 .synastry-reading-dialog :is(h4.managed-reading-headline,h4.social-reading-headline){font-size:1.125rem;line-height:1.6;margin:1.25rem 0 .75rem;text-wrap:pretty}
 .synastry-reading-dialog :is(p.managed-reading-conclusion,p.social-reading-conclusion){font-size:1.0625rem;line-height:1.8;margin:1rem 0;padding:.75rem 0}
 .synastry-reading-dialog :is(.managed-reading-action,.social-reading-action){margin:1rem 0}
 .synastry-reading-dialog :is(.managed-chapter,.social-reading) details{margin:1rem 0}
 .synastry-reading-dialog .synastry-opening :is(.synastry-opening__paragraph,.synastry-opening__balance p){font-size:1rem;line-height:1.8}
 .synastry-reading-dialog .synastry-opening .synastry-opening__lead{font-size:1.0625rem;line-height:1.8}
 .synastry-reading-dialog .synastry-opening__balance :is(h3,h4){font-size:1rem}
 .synastry-reading-dialog :is(p.managed-note,p.social-note){font-size:.875rem;line-height:1.8}
}
@media(max-width:350px){.synastry-reading-dialog .dialog-body{padding:1rem}}

/* Profile essentials: static navigation, readable identity and secondary management. */
.zx-profile .profile-shell{width:min(calc(100% - 32px),960px);padding-inline:0}
.zx-profile .topbar{position:static;background:transparent;min-height:60px;padding-block:8px;border-color:#c9a85c29}
.zx-profile .topbar .brand img{mix-blend-mode:screen;border-radius:50%;-webkit-user-select:none;user-select:none}
.zx-profile .page-heading{margin-top:0;padding:24px 0 4px}
.zx-profile .page-heading h1{font-size:26px}
.zx-profile .account-number-row{display:flex;align-items:center;flex-wrap:wrap;gap:0 12px;min-height:44px;margin-bottom:16px;color:var(--mist);font-size:14px}
.zx-profile #profile-number{font:500 17px/1.5 var(--sans);color:var(--moon);font-variant-numeric:tabular-nums;letter-spacing:.06em;white-space:nowrap}
.zx-profile .account-number-status{font-size:12px}
.zx-profile .identity,.zx-observatory.zx-profile .identity{grid-template-columns:88px minmax(0,1fr) auto;gap:0 16px;min-height:0;padding-bottom:20px;margin-bottom:0}
.zx-observatory.zx-profile .zx-ob-profile-art{width:88px}
.zx-profile .identity-copy{min-width:0}
.zx-profile .identity-copy h2,.zx-observatory.zx-profile .identity-copy h2{font:500 20px/1.5 var(--sans);margin:4px 0;word-break:normal;overflow-wrap:anywhere}
.zx-profile .chart-title-date{white-space:nowrap;font-variant-numeric:tabular-nums}
.zx-profile .chart-title-place{display:inline-block;max-width:100%;word-break:normal;overflow-wrap:anywhere}
.zx-observatory.zx-profile .zx-ob-stem-label{font-size:16px;margin-top:4px}
.zx-profile .identity>.switch-chart,.zx-observatory.zx-profile .identity>.switch-chart{grid-column:3;grid-row:2;justify-self:start}
.zx-profile .overview-grid{gap:24px}
.zx-profile .section-heading{margin-bottom:10px;flex-wrap:wrap}
.zx-profile .panel{padding:20px 0}
.zx-profile .credit-value{margin:4px 0}.zx-profile .credit-value strong{font-size:32px}
.zx-observatory.zx-profile .shared-reading-panel{padding:20px 0;min-height:0}
.zx-profile .shared-reading-panel>.section-heading,.zx-profile .shared-reading-panel>.section-description{padding-right:110px}
.zx-profile .shared-reading-panel>.button{margin-top:12px}
.zx-observatory.zx-profile .zx-ob-pair{width:100px;height:70px;top:26px;right:0}
.zx-profile .profile-secondary>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;cursor:pointer;list-style:none;font:500 16px/1.6 var(--sans);color:var(--moon)}
.zx-profile .profile-secondary>summary::-webkit-details-marker{display:none}
.zx-profile .profile-secondary>summary::after{content:'⌄';color:var(--gold);flex:none}
.zx-profile .profile-secondary[open]>summary::after{content:'⌃'}
.zx-profile .profile-secondary>summary .small-label{margin-left:auto}
.zx-profile .relationship-panel{margin-top:14px;border-top:1px solid var(--line)}
.zx-profile .relationship-panel[open]>summary{margin-bottom:12px}
.zx-profile details.chart-library{padding:0}
.zx-profile .chart-library-copy strong{font:500 16px/1.6 var(--sans);word-break:normal}
.zx-profile .chart-library-copy{min-width:0}
.zx-profile .chart-library-actions{flex-wrap:wrap;gap:8px 16px}
.zx-profile .discovery{margin-top:0;border-top:1px solid var(--line)}
.zx-profile .profile-shell main [id]{scroll-margin-top:16px}
.zx-profile #profile-number{user-select:text;-webkit-user-select:text}
@media(max-width:600px){
 .zx-profile .brand{font-size:20px;gap:6px}.zx-profile .brand img{width:28px;height:28px}
 .zx-profile .topbar{gap:8px}.zx-profile .profile-home-actions{gap:10px}
 .zx-profile .profile-new-chart{padding-inline:8px;font-size:13px}.zx-profile .profile-home-actions .back-link{font-size:13px}
 .zx-profile .page-heading{padding-top:20px}
 .zx-profile .identity,.zx-observatory.zx-profile .identity{grid-template-columns:72px minmax(0,1fr);column-gap:12px}
 .zx-observatory.zx-profile .zx-ob-profile-art{width:72px;grid-row:1 / 4}
 .zx-profile .identity-copy h2,.zx-observatory.zx-profile .identity-copy h2{font-size:18px}
 .zx-profile .identity>.text-button,.zx-observatory.zx-profile .identity>.text-button{grid-column:2;grid-row:2;justify-self:start;min-height:44px}
 .zx-profile .identity>.switch-chart,.zx-observatory.zx-profile .identity>.switch-chart{grid-row:2;justify-self:end}
 .zx-profile .identity-copy{grid-column:2;grid-row:1}
 .zx-profile .overview-grid{gap:0}
 .zx-profile .section-heading h2{font-size:20px}
 .zx-profile .identity-note{grid-column:1 / -1}
 .zx-profile :is(.social-field,.managed-field,.profile-purchase-field) :is(input,select,textarea){font-size:16px}
}

@media(min-width:360px) and (max-width:600px){
 .zx-profile .overview-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
 .zx-profile .overview-grid .actions{gap:4px 10px;flex-wrap:wrap}
 .zx-profile .overview-grid .section-heading h2{font-size:18px}
 .zx-profile .overview-grid .button{padding-inline:12px}
 .zx-profile .overview-grid .report-panel>.button{margin-top:16px;align-self:flex-start}
}

.zx-static-brand img{mix-blend-mode:screen;border-radius:50%;-webkit-user-select:none;user-select:none}
