:root{color-scheme:light;--ink:#292d32;--blue:#244e70;--paper:#f6f3ec}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 system-ui,sans-serif}header{display:flex;justify-content:space-between;gap:18px;padding:24px max(24px,env(safe-area-inset-right));border-bottom:1px solid #d8d7d2;font-size:12px;letter-spacing:2px}a{color:var(--blue)}header a{text-decoration:none;font-weight:700}main{max-width:1080px;margin:auto;padding:36px 24px max(40px,env(safe-area-inset-bottom))}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.13}h1{font-size:clamp(48px,8vw,88px);margin:20px 0}h2{font-size:36px}h3{font-size:26px}em{color:var(--blue)}.intro{max-width:690px;padding-bottom:32px}.panel{background:#fff9;border:1px solid #d8d7d2;border-radius:16px;padding:28px;margin:24px 0}.grid,.highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.highlights{grid-template-columns:repeat(3,minmax(0,1fr))}.highlight{border-top:2px solid var(--blue);padding:16px 0}.highlight strong{display:block;font:26px Georgia;margin:8px 0}label{display:block;margin:14px 0;font-size:14px}input,select,button{font:inherit;font-size:16px;min-height:48px;border-radius:8px}input,select{display:block;width:100%;padding:12px;border:1px solid #b9bdc1;background:#fff;margin-top:6px;color:var(--ink)}button{background:var(--blue);color:white;border:1px solid var(--blue);padding:12px 20px;cursor:pointer}.secondary{background:transparent;color:var(--blue)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}button:disabled{opacity:.6}small,.note{color:#565f68}.note{border-left:2px solid #819cb2;padding-left:16px}.chart-layout{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:28px}svg{width:100%;height:auto;display:block}summary{min-height:48px;padding:12px 0;cursor:pointer}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 0;border-bottom:1px solid #ddd}.row span:last-child{text-align:right}footer{margin-top:48px;color:#5f6870;font-size:13px}:focus-visible{outline:3px solid #5788ad;outline-offset:4px}#status{color:#7a3428}#result{scroll-margin-top:24px}@media(max-width:640px){main{padding:24px 18px}.panel{padding:20px}.grid,.chart-layout{grid-template-columns:1fr;gap:0}.highlights{gap:12px}.highlight strong{font-size:21px}header{letter-spacing:1px;font-size:10px}.actions button{width:100%}h2{font-size:30px}.row{font-size:14px}.intro{position:relative}.intro:after{content:"✦";position:absolute;right:8px;top:0;color:#7b98af;font-size:35px;pointer-events:none}}

.city-choice{display:block;width:100%;text-align:left;margin:8px 0;white-space:normal}#chosen-city{overflow-wrap:anywhere}#reading details{border-bottom:1px solid #d8d7d2}

@media print{
 body{background:white;color:#111;font-size:11pt}
 header,.intro,main>section:has(#form),button,footer{display:none!important}
 main{max-width:none;padding:0}
 .panel{border:0;padding:12px 0;margin:12px 0}
 h2,h3,summary{break-after:avoid}
 .highlight,.row,details{break-inside:avoid}
 .chart-layout{display:block}#wheel{max-width:440px;margin:auto}
 #result{display:block}#result[hidden]{display:none}
 details::details-content{content-visibility:visible}
 a{color:inherit}
}

.ad-slot{border:1px solid #d8d7d2;padding:24px;margin:32px 0;text-align:center;min-height:110px}.ad-slot[hidden]{display:none}@media print{.ad-slot{display:none!important}}
.timeline-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:end}.timeline-controls label{flex:1;min-width:150px}.timeline-card{border-top:1px solid #c9c5bd;padding:1.5rem 0;overflow-wrap:anywhere}.timeline-card label{display:block;margin:1rem 0}.timeline-card input:not([type=checkbox]),.timeline-card select{max-width:100%;min-height:44px}.timeline-card input[type=checkbox]{width:22px;height:22px;vertical-align:middle}.timeline-card details{margin:1rem 0}@media(max-width:600px){.timeline-controls{display:grid;grid-template-columns:1fr}.timeline-controls button{width:100%}}
.service-wait:not([hidden]){position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:max(24px,env(safe-area-inset-top)) 24px;background:#f6f3ecf5;color:#244e70}.service-wait p{max-width:32rem}.service-orbit{width:72px;height:72px;border:1px solid #b5bec4;border-top:3px solid #244e70;border-radius:50%;animation:service-spin 3s linear infinite}@keyframes service-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.service-orbit{animation:none}}

.reading-entry{margin:24px 0;padding:0 0 22px;border-bottom:1px solid #d8d7d2;overflow-wrap:anywhere}.reading-entry h4{font:26px/1.25 Georgia,serif;margin:0 0 10px}.reading-entry p{max-width:72ch}.reading-evidence{color:var(--blue);font-size:14px}.reading-entry summary{font-weight:600;min-height:48px;padding:12px 0;cursor:pointer}

.reading-closing{border-top:3px solid var(--blue)}.reading-closing p{max-width:72ch}.closing-last{font:italic 24px/1.5 Georgia,serif;color:var(--blue)}

.element-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.element-card{padding:18px;border:1px solid #bdcbd3;border-radius:14px}.element-card h4{margin-top:0}.element-card p{overflow-wrap:anywhere}@media(max-width:600px){.element-grid{grid-template-columns:1fr}}

.reading-guide{padding:20px;border:1px solid #bdcbd3;border-radius:14px;margin-bottom:28px}.reading-guide li{margin:12px 0}.reading-guide a{display:inline-block;padding:8px 0;font-weight:600}.reading-guide li p{margin:0 0 6px}.reading-entry summary{min-height:44px}#elements,#overview,#compatibility,#natal,#aspect,#bazi{scroll-margin-top:20px}

.reading-progress{margin-top:1.5rem;padding:1rem;border:1px solid #a4b4bf;border-radius:12px;background:#edf2f5}.reading-progress progress{display:block;width:100%;height:14px;accent-color:#244e70}.reading-progress p:first-child{font-weight:600}.reading-progress button{min-height:44px;max-width:100%;white-space:normal}.reading-progress [hidden],.reading-progress[hidden]{display:none}

.reading-progress[data-busy="true"] #reading-progress-title::before{content:"";display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:50%;background:#244e70;animation:reading-pulse 1.6s ease-in-out infinite}@keyframes reading-pulse{50%{opacity:.3}}@media(prefers-reduced-motion:reduce){.reading-progress[data-busy="true"] #reading-progress-title::before{animation:none}}

.service-wait{overflow-y:auto}.service-wait h2{font-size:clamp(24px,5vw,36px);line-height:1.2;max-width:24ch}.service-wait .service-orbit{flex-shrink:0}.service-wait button{flex-shrink:0}@media(max-height:650px){.service-wait:not([hidden]){justify-content:flex-start}.service-wait .service-orbit{width:40px;height:40px}.service-wait p{margin:8px 0}}

/* Calm identity and calculated summary cards */
header .brand{font:30px/1.1 Georgia,serif;letter-spacing:-.03em;display:flex;align-items:center;gap:10px}header .brand img{width:38px;height:38px}.intro{max-width:none;position:relative;isolation:isolate;padding:32px 0 52px}.intro:before{content:"";position:absolute;z-index:-1;inset:0 0 0 30%;background:url('./galaxy.jpg') right center/cover;opacity:.5;mask-image:linear-gradient(to bottom,#000 50%,transparent);pointer-events:none}.intro-cosmos{position:absolute;right:0;top:0;width:55%;height:100%;object-fit:contain;z-index:-1;pointer-events:none}.intro>p{max-width:580px}.intro h1{font-size:clamp(44px,6vw,76px);max-width:750px;letter-spacing:-.035em}.intro em{font-style:normal;color:inherit}.brand-endorsement{font-size:13px;color:#626971}.brand-endorsement strong{font-weight:500}.highlight{border:1px solid #d8d7d2;border-radius:12px;background:#fff7;padding:22px;display:flex;gap:16px;align-items:flex-start}.highlight strong{font:21px/1.25 Georgia,serif;margin:0 0 7px}.highlight small{font-size:13px}.highlight p{font-size:15px;line-height:1.55;margin:12px 0 0}.highlight-icon{display:grid;place-items:center;flex:0 0 52px;height:52px;border-radius:50%;font:40px/1 Georgia,serif;background:#fbefdf;color:#bd5709}.highlight[data-body="Luna"] .highlight-icon{background:#e7eef4;color:#36749a}.highlight[data-body="Ascendente"] .highlight-icon{background:#eee8f5;color:#71559c}.summary-note{color:#626971}.highlights{margin:20px 0 32px}.highlight-copy{min-width:0}.highlight strong{overflow-wrap:anywhere}
@media(max-width:800px){.highlights{grid-template-columns:1fr}.highlight{padding:18px}.highlight-icon{flex-basis:48px;height:48px}.intro>p{max-width:85%}.intro-cosmos{width:65%;opacity:.65}.intro:before{left:15%;opacity:.28}}
@media(max-width:640px){header .brand{font-size:25px}header>span{max-width:110px;text-align:right}.intro:after{display:none}.intro{padding-top:12px;padding-bottom:30px}.intro h1{font-size:clamp(42px,10vw,64px)}.intro>p{max-width:100%}.intro-cosmos{opacity:.3}.intro:before{opacity:.2}.highlight strong{font-size:22px}}

.initiative-footer{margin:32px auto 0;padding-top:24px;border-top:1px solid #d8d7d2;text-align:center}.initiative-footer p{font-size:13px;margin:0 0 14px}.initiative-footer strong{font-weight:500}.initiative-footer img{display:block;width:80px;height:auto;margin:0 auto 12px}

/* Whole-card native radio controls: keyboard accessible, visible focus, no JS styling. */
#explore-choice{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#explore-choice legend{font:clamp(23px,3vw,30px)/1.2 Georgia,serif;margin-bottom:24px;letter-spacing:-.02em}
#explore-choice .explore-option{position:relative;margin:0;cursor:pointer;min-width:0}
#explore-choice input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0;margin:0}
.choice-card{position:relative;display:flex;align-items:center;gap:17px;padding:24px 42px 24px 22px;height:100%;border:1px solid #d8d7d2;border-radius:14px;background:#fff6;transition:background .15s,border-color .15s}
.choice-icon{display:block;flex:0 0 43px;color:#627f93}.choice-icon svg{width:43px;height:43px}
.choice-copy{display:block;min-width:0}.choice-copy strong{font:22px/1.2 Georgia,serif;font-weight:400;color:#292d32}.choice-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.choice-description{display:block;font-size:14px;line-height:1.6;color:#626971;margin-top:9px}.choice-beta{display:inline-block;border:1px solid #c3d0da;border-radius:20px;padding:1px 7px;font:10px/1.7 system-ui,sans-serif;letter-spacing:.04em;color:#48677e}
.choice-check{position:absolute;top:15px;right:15px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;color:transparent;border:1px solid #c5cace;font:12px/1 system-ui,sans-serif}
#explore-choice input:checked + .choice-card{background:#edf2f5;border-color:#819caf}#explore-choice input:checked + .choice-card .choice-icon{color:#244e70}#explore-choice input:checked + .choice-card .choice-check{background:#244e70;border-color:#244e70;color:#fff}
#explore-choice input:focus-visible + .choice-card{outline:3px solid #5788ad;outline-offset:4px}@media(hover:hover){.explore-option:hover .choice-card{border-color:#819caf}}
#week-zone-note{font-size:12px;line-height:1.6;margin:16px 0 0;color:#626971;max-width:65ch}
.weekly-card{padding:20px 0;border-top:1px solid #d8d7d2}.weekly-card h3{font-size:23px;margin:8px 0 12px}.weekly-card p{margin:0;max-width:70ch}
#weekly-result{scroll-margin-top:20px}.weekly-headline{font-size:clamp(26px,4vw,36px);max-width:28ch;color:#244e70;margin:28px 0 16px}.weekly-takeaway{border-left:2px solid #819caf;padding:4px 0 4px 18px;margin:12px 0 28px}.weekly-takeaway p{font:22px/1.4 Georgia,serif;margin:8px 0}
@media(max-width:760px){#explore-choice{grid-template-columns:1fr}.choice-card{padding:20px 38px 20px 18px;gap:14px}.choice-copy strong{font-size:21px}.choice-description{font-size:13px}.choice-icon,.choice-icon svg{width:37px;height:37px}.choice-icon{flex-basis:37px}}
@media(prefers-reduced-motion:reduce){.choice-card{transition:none}}

/* Compact entry: choice and birth fields form one continuous task. */
main{padding-top:22px}.intro.intro-compact{padding:8px 0 18px}.intro.intro-compact h1{font-size:clamp(30px,4vw,46px);line-height:1.15;max-width:740px;margin:10px 0 14px}.intro.intro-compact>p{max-width:720px;margin:0;line-height:1.55}.intro.intro-compact:before{left:55%;opacity:.28}.intro.intro-compact .intro-cosmos{width:38%;opacity:.55}.reading-start{margin-top:12px;padding-top:22px}.reading-start #explore-choice legend,.form-step{font:25px/1.3 Georgia,serif;margin:0 0 16px;letter-spacing:-.015em}.step-number{display:inline-grid;place-items:center;width:25px;height:25px;vertical-align:2px;margin-right:7px;border:1px solid #a7bac8;border-radius:50%;font:13px/1 system-ui,sans-serif;color:#244e70}.form-step{padding-top:22px;margin-top:22px;border-top:1px solid #d8d7d2}.birth-help{margin:0 0 8px;font-size:14px;max-width:70ch}.birth-privacy{font-size:13px;color:#626971}.birth-privacy summary{min-height:36px;padding:5px 0}.birth-privacy p{margin:8px 0 14px}.reading-start .choice-card{padding-top:18px;padding-bottom:18px}.reading-start .grid label{margin-top:10px}.weekly-card .weekly-contact{font-size:14px;color:#244e70;margin:0 0 9px;font-weight:500}.weekly-card .weekly-aspect{font-size:14px;color:#626971;margin:0 0 12px}.weekly-date-note{font-size:13px;color:#626971;max-width:75ch;margin:22px 0 12px}@media(max-width:640px){main{padding-top:14px}.intro.intro-compact{padding:4px 0 14px}.intro.intro-compact h1{font-size:32px}.intro.intro-compact>p{font-size:14px}.intro.intro-compact:before{left:35%;opacity:.18}.reading-start{padding:18px}.reading-start #explore-choice legend,.form-step{font-size:23px}.reading-start .choice-card{padding-top:15px;padding-bottom:15px}.form-step{margin-top:18px;padding-top:18px}}
