/* Presentation of Ascendant, Sun sign and Moon sign. The build expands :is(#asc-app,#signo-solar-app,#signo-lunar-app) to the three existing roots. */
:is(#asc-app,#signo-solar-app,#signo-lunar-app) { --sd-ink:var(--px-text,#f5f1e8); --sd-muted:var(--px-muted,#c8c4d2); --sd-accent:var(--px-accent,#d8bb79); --sd-line:var(--px-line,#c8a96b40); --sd-panel:var(--px-surface,#141827); --sd-heading:var(--px-heading,Georgia,serif); min-height:0; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-container { max-width:1120px; padding:48px 32px 72px; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-header { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); align-items:center; gap:48px; text-align:left; margin-bottom:36px; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-header-copy { min-width:0; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-deco { display:block; font-size:28px; letter-spacing:0; margin:0 0 20px; opacity:1; color:var(--sd-accent); }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-title { font-family:var(--sd-heading); font-size:clamp(32px,3.8vw,52px); font-weight:500; line-height:1.12; letter-spacing:-.025em; text-transform:none; text-align:left; text-shadow:none; color:var(--sd-ink); background:none; -webkit-text-fill-color:currentColor; filter:none; overflow-wrap:anywhere; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-subtitle { font:400 16px/1.8 Inter,system-ui,sans-serif; font-style:normal; max-width:44ch; letter-spacing:0; text-transform:none; text-align:left; color:var(--sd-muted); margin:20px 0 0; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-hero-art { margin:0; border:1px solid var(--sd-line); border-radius:160px 160px 12px 12px; overflow:hidden; aspect-ratio:1.6; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-hero-art img { display:block; width:100%; height:100%; object-fit:cover; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) :is(.asc-step,.solar-step,.lunar-step) { scroll-margin-top:100px; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .form-card { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:24px 32px; padding:32px; margin:0; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) :is(.form-section-title,.sd-field-city,.form-card>.dst-note,.birth-adjustment,.form-error-msg,.form-card>.btn-oracle) { grid-column:1/-1; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) :is(.form-section-title,.form-main-label,.section-label) { display:block; font:500 24px/1.35 var(--sd-heading); letter-spacing:0; text-transform:none; color:var(--sd-ink); margin:0 0 12px; text-align:left; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) :is(.form-group,.form-section,.sd-date-group) { min-width:0; margin:0; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .form-section { display:flex; flex-direction:column; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .form-section :is(.date-fields,.time-fields) { margin-top:auto; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) :is(.form-hint,.section-hint) { font:400 13px/1.65 Inter,system-ui,sans-serif; color:var(--sd-muted); margin:0 0 18px; text-align:left; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) :is(.form-divider,.time-note:empty) { display:none; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) :is(.date-fields,.form-row.three) { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr) minmax(0,1fr); gap:12px; margin-bottom:0; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) :is(.time-fields,.form-row.two,.sky-time-row) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:0; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) :is(.field-wrap,.date-field-wrap) { display:flex; flex-direction:column; gap:8px; min-width:0; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .field-group-label { font:500 14px/1.45 Inter,system-ui,sans-serif; letter-spacing:0; text-transform:none; color:var(--sd-ink); margin-bottom:12px; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) :is(.field-label,.field-sublabel,.sky-time-row label) { display:block; font:400 12px/1.4 Inter,system-ui,sans-serif; letter-spacing:0; text-transform:none; color:var(--sd-muted); text-align:left; margin:0; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .sky-time-row label { margin-bottom:8px; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) :is(.date-select,.city-input) { font:400 16px/1.5 Inter,system-ui,sans-serif; min-height:50px; padding:12px 30px 12px 12px; text-align:left; max-width:100%; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .city-input { padding-right:46px; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .city-search-icon { display:flex; align-items:center; width:18px; height:18px; right:17px; color:var(--sd-accent); }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .city-list { background:var(--sd-panel); border-color:var(--sd-line); }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .city-option { font:400 15px/1.5 Inter,system-ui,sans-serif; min-height:48px; color:var(--sd-ink); }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .sky-fields { display:contents; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .sky-fields>* { grid-column:1/-1; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .sky-fields>label { font:500 14px/1.45 Inter,system-ui,sans-serif; color:var(--sd-ink); margin:0 0 -10px; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) :is(.sky-note,.dst-note) { font:400 13px/1.65 Inter,system-ui,sans-serif; color:var(--sd-muted); margin:0; padding:12px 16px; background:var(--px-soft,#c8a96b0c); border:0; border-left:2px solid var(--sd-line); }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .sky-note:empty { display:none; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .birth-adjustment { margin:-12px 0 0; font:400 13px/1.6 Inter,system-ui,sans-serif; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .birth-adjustment summary { padding:8px 0; min-height:40px; margin:0; color:var(--sd-accent); cursor:pointer; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .birth-adjustment[open] summary { margin-bottom:10px; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .birth-adjustment .dst-note { margin-top:8px; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .form-error-msg { margin:0; min-height:0; font:500 14px/1.5 Inter,system-ui,sans-serif; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .form-error-msg:not(.visible) { display:none; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .btn-oracle { font:600 15px/1.5 Inter,system-ui,sans-serif; letter-spacing:.015em; text-transform:none; min-height:54px; margin:0; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .btn-secondary { font:500 14px/1.5 Inter,system-ui,sans-serif; letter-spacing:0; text-transform:none; }
#signo-solar-app .sd-date-group { grid-column:1; grid-row:1/3; }
#signo-solar-app .sky-fields>p:first-child:not(.sky-note) { grid-column:2; grid-row:1; margin:0; font:500 14px/1.5 Inter,system-ui,sans-serif; color:var(--sd-ink); }
#signo-solar-app .sky-time-row { grid-column:2; grid-row:2; align-self:end; }
#signo-lunar-app .sky-fields>.sky-note:first-child { display:none; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-result-layout { display:grid; grid-template-columns:minmax(235px,.8fr) minmax(0,2fr); align-items:start; gap:28px; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-result-summary { min-width:0; padding:28px 20px; background:var(--sd-panel); border:1px solid var(--sd-line); border-radius:var(--px-radius,12px); }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-result-summary :is(.result-hero,.result-header) { padding:0; margin:0; background:none; border:0; box-shadow:none; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) :is(.sign-symbol-big,.res-symbol-big) { display:block; font-size:64px; line-height:1.2; margin:0 0 20px; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) :is(.sign-name-big,.res-sign-name) { font:500 clamp(26px,2.8vw,36px)/1.25 var(--sd-heading); letter-spacing:0; text-transform:none; color:var(--sd-ink); -webkit-text-fill-color:currentColor; background:none; overflow-wrap:anywhere; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) :is(.sign-dates-label,.sign-lon-label,.res-degree) { font:400 13px/1.65 Inter,system-ui,sans-serif; color:var(--sd-muted); margin-top:12px; letter-spacing:0; overflow-wrap:anywhere; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) :is(.sign-dates-label:empty,.sign-lon-label:empty) { display:none; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .sign-chips { margin:22px 0 0; gap:8px; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .chip { font:400 13px/1.5 Inter,system-ui,sans-serif; padding:8px 12px; max-width:100%; flex-wrap:wrap; justify-content:center; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .info-cards { margin:0; gap:20px; min-width:0; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .info-card { padding:28px; border-top:2px solid var(--sd-accent); }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) :is(.info-card-title,.sky-alternatives h3) { font:500 23px/1.35 var(--sd-heading); color:var(--sd-accent); letter-spacing:0; text-transform:none; margin-bottom:16px; overflow-wrap:anywhere; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) :is(.info-card-body,.sky-alternatives p) { font:400 16px/1.9 Inter,system-ui,sans-serif; color:var(--sd-ink); overflow-wrap:anywhere; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .sky-alternatives p { white-space:pre-line; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .trait-tag { font:400 14px/1.6 Inter,system-ui,sans-serif; padding:8px 12px; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .result-section-title { font:500 clamp(26px,3vw,36px)/1.3 var(--sd-heading); color:var(--sd-accent); -webkit-text-fill-color:currentColor; letter-spacing:0; text-transform:none; margin-bottom:16px; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .birth-result-note { margin:0 auto 28px; max-width:76ch; padding:0; background:none; border:0; text-align:center; font:400 13px/1.65 Inter,system-ui,sans-serif; color:var(--sd-muted); }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-result-layout:has(.sd-result-summary>[hidden]) { display:none; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app) .sky-alternatives { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:0; }
:is(#asc-app,#signo-solar-app,#signo-lunar-app):has(:is(#asc-step-result,#ss-step-result,#sl-step-result).active) .sd-header { display:none; }
@media(min-width:900px){:is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-result-summary { position:sticky; top:110px; }}
@media(max-width:720px){
 :is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-container { padding:28px 20px 52px; }
 :is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-header { gap:20px; grid-template-columns:minmax(0,1fr) 125px; margin-bottom:28px; }
 :is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-hero-art { aspect-ratio:.8; border-radius:80px 80px 8px 8px; }
 :is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-title { font-size:32px; }
 :is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-deco { font-size:22px; margin-bottom:16px; }
 :is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-subtitle { margin-top:14px; font-size:14px; line-height:1.7; }
 :is(#asc-app,#signo-solar-app,#signo-lunar-app) .form-card { grid-template-columns:1fr; gap:22px; padding:24px; }
 :is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-date-group,#signo-solar-app .sky-fields>p:first-child:not(.sky-note),#signo-solar-app .sky-time-row { grid-column:1; grid-row:auto; }
 :is(#asc-app,#signo-solar-app,#signo-lunar-app) :is(.sd-result-layout,.sky-alternatives) { grid-template-columns:1fr; gap:24px; }
 :is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-result-summary { padding:24px; }
 :is(#asc-app,#signo-solar-app,#signo-lunar-app) .info-card { padding:24px; }
}
@media(max-width:440px){
 :is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-container { padding-left:16px; padding-right:16px; }
 :is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-header { grid-template-columns:minmax(0,1fr) 94px; gap:16px; }
 :is(#asc-app,#signo-solar-app,#signo-lunar-app) .sd-title { font-size:28px; }
 :is(#asc-app,#signo-solar-app,#signo-lunar-app) .form-card { padding:20px 16px; }
 :is(#asc-app,#signo-solar-app,#signo-lunar-app) :is(.form-section-title,.form-main-label,.section-label) { font-size:22px; }
 :is(#asc-app,#signo-solar-app,#signo-lunar-app) :is(.date-fields,.form-row.three) { grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); }
 :is(#asc-app,#signo-solar-app,#signo-lunar-app) :is(.date-fields,.form-row.three)>:last-child { grid-column:1/-1; }
 :is(#asc-app,#signo-solar-app,#signo-lunar-app) .info-card { padding:22px 18px; }
 :is(#asc-app,#signo-solar-app,#signo-lunar-app) :is(.info-card-title,.sky-alternatives h3) { font-size:22px; }
}
