:root{
  --paper:#f6f7fb;--ink:#202338;--dark:#343267;--line:#dce0ea;
  --rust:#56489d;--muted:#545c72;--accent:#5343a9;
  --ui-font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans","Noto Sans Thai",sans-serif;
}
body{background:var(--paper);font-family:var(--ui-font);color:var(--ink)}
h1,h2,h3,h4,.brand,.localEdition h1,.localEdition h2{font-family:var(--ui-font);font-weight:640;letter-spacing:-.035em}
.mast{width:100%;max-width:none;margin:0;padding:14px max(4vw,calc((100vw - 1160px)/2));background:#fff;border:0;border-bottom:1px solid var(--line);min-height:70px;gap:18px}
.mast nav{gap:10px}.mast .brand,footer .brand{font-size:1.38rem;letter-spacing:-.05em;font-weight:720}
.mast .brand span{display:grid;place-items:center;width:33px;height:33px;border-radius:11px;font-size:1.3rem;line-height:1;background:linear-gradient(145deg,#5752ad,#282949);color:#fff}
.mast nav>a{font-weight:540;color:#484c63}.mast nav>a[aria-current]{color:var(--accent);border-color:var(--accent)}
.languages{z-index:9}.languages summary{min-height:40px;display:flex;align-items:center;gap:8px;border-radius:10px;border:1px solid #cbd0df;background:#f8f8fc;color:#30334a;padding:7px 12px;line-height:1.2;font-size:.85rem}
.languages summary:hover,.languages[open] summary{background:#eeedf9;border-color:#aba5d3}
.languages summary:after{content:"";width:6px;height:6px;border:solid currentColor;border-width:0 1.6px 1.6px 0;transform:translateY(-2px) rotate(45deg)}
.languages[open] summary:after{transform:translateY(2px) rotate(225deg)}
.langValue{color:#535a70;font-weight:450;border-left:1px solid #ced1df;padding-left:8px}
.langGlobe{position:relative;display:inline-block;width:16px;height:16px;border:1.5px solid currentColor;border-radius:50%}
.langGlobe:before,.langGlobe:after{content:"";position:absolute}.langGlobe:before{inset:-1px 3px;border:1px solid currentColor;border-radius:50%}.langGlobe:after{left:0;right:0;top:6px;border-top:1px solid currentColor}
.languages div{background:white;border-color:var(--line);box-shadow:0 10px 36px #22203f24;min-width:165px}.languages a{border-radius:5px}.languages a:hover,.languages a[aria-current]{background:#f0eef9}
.birthLayout,.localeWorkspace{margin:clamp(20px,4vw,52px) 0 24px;display:grid;grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:0;align-items:stretch;border-radius:24px;border:1px solid #dce0ea;background:white;box-shadow:0 14px 48px #22213c0c}
.birthLayout .formIntro,.localeWorkspace .formIntro{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;min-width:0;border:0;border-radius:23px 0 0 23px;padding:clamp(28px,3.8vw,54px);background:radial-gradient(ellipse at 70% 92%,#454079 0%,#292746 36%,#171a31 76%);color:#f6f6ff}
.formIntro h1,.localEdition .formIntro h1{position:relative;z-index:1;font-size:clamp(2.2rem,3.9vw,3.75rem);line-height:1.08;letter-spacing:-.045em;max-width:15ch;text-wrap:balance;margin:0}
:lang(zh) .formIntro h1,:lang(ja) .formIntro h1,:lang(ko) .formIntro h1{font-size:clamp(2.2rem,3.35vw,3.28rem);line-height:1.24;max-width:12em;letter-spacing:-.045em}
.formIntro>p{font-size:1rem;max-width:38ch;color:#dedfee;margin:16px 0 0;line-height:1.7;z-index:1}
.lunarScene:before,.lunarScene:after{content:"";position:absolute;width:100%;height:49%;border:1px solid #d2c7fc47;border-radius:50%;transform:rotate(-20deg);right:-12%;bottom:18%}.lunarScene:after{width:115%;height:69%;bottom:3%;right:-25%;border-style:dashed;border-color:#b9b4d634}
.birthLayout>.surface,.localeWorkspace>.surface{margin:0;min-width:0;padding:clamp(24px,3.2vw,45px);background:white;border:0;border-radius:0 23px 23px 0}
.birthLayout .surface h2,.localeWorkspace .surface h2{font:650 clamp(1.45rem,2vw,1.8rem)/1.25 var(--ui-font);letter-spacing:-.03em;margin:0 0 23px}
label,legend{color:#34394e}input,select{background-color:#fafbfe;border:1px solid #c5cad9;border-radius:9px;color:#22263a;font-family:inherit;min-width:0}
input:focus-visible,select:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #897bd2;outline-offset:2px}
.pill,.surface button.pill{border:0;border-radius:10px;background:#5143a2;color:white;font-family:inherit;min-height:45px}.pill:hover,.surface button.pill:hover{background:#403486}.birthLayout form>.pill,.localeWorkspace form>.pill,.localeWorkspace .surface>.pill{width:100%;justify-content:center;margin-top:14px}
.localPrivacy{font-size:.79rem;color:var(--muted);text-align:center;margin:12px 0 0}
#problem:empty,#status:empty{display:none}.localEdition #cityHint,.hint,#placeNote{letter-spacing:normal;color:var(--muted)}
.localEdition #cityList button,#options button{border:1px solid var(--line);background:#f8f8fd;color:var(--ink);padding:10px 12px}.localEdition #cityList button:hover,#options button:hover{background:#eeecfa}
.localNotes{gap:18px}.localNotes article{background:white;border:1px solid var(--line);border-radius:16px;padding:22px 24px}.localNotes h2{font-size:1.12rem}.localNotes p{margin:10px 0 0;color:var(--muted);line-height:1.65}
.readerPage .reportIntro,.localEdition .reportHeading{border:0;border-radius:18px;background:linear-gradient(120deg,#22253c,#363254);color:#fff;padding:clamp(22px,3vw,42px);margin:12px 0}
.readerPage .reportIntro>p,.readerPage .reportIntro .eyebrow,.localEdition .reportHeading p{color:#e3e1f4}.localEdition .reportHeading{margin:0;border-radius:0}.reportHeading a{color:#ebe2ff}
.readerPage .panel,.localEdition #result,.surface,.record,.empty,.editorial,.chartDetails{border-color:var(--line)}.readerPage .panel,.localEdition #result{background:white;border-radius:16px}
.readerPage .folioLead,.readerPage .portraitLead{background:#f0eff9;color:#25263b;border-color:#b6afd7}.readerPage .folioLead>p:first-child{color:#53458d}.readerPage .folioLead>p:last-child{color:#363851}
.readerPage .chapters a[aria-current],.chapters a[aria-current]{background:#44387d;color:white;border-color:#44387d}.reportContents{background:#f4f3fa}.reportContents a{background:white;border-color:#d8d5e7}
.localEdition #result article>span,.eyebrow,.readerPage .folioEvidence summary{color:#605288}.phaseReading{border-color:#8a7bad}.portraitPair section:first-child,.portraitPair section:nth-child(2){background:#f7f7fc;border-left-color:#aba6d1}.readerPage .folioBody p,.localEdition #result article p{line-height:1.78}
footer{border-color:var(--line);padding:24px 0;gap:12px}footer span{font-family:var(--ui-font);color:var(--muted);letter-spacing:0}
@media(max-width:740px){
 .mast{padding:10px 4%;min-height:60px;gap:10px;align-items:center}.mast .brand{font-size:1.15rem}.mast nav{gap:4px}.localEdition .mast nav>a[href="#birth"]{display:none}.languages summary{min-height:38px;font-size:.81rem;padding:7px 9px}
 .birthLayout,.localeWorkspace{grid-template-columns:minmax(0,1fr);margin:16px 0;border-radius:16px}.birthLayout .formIntro,.localeWorkspace .formIntro{padding:25px 22px;border-radius:15px 15px 0 0;min-height:142px;justify-content:center}.formIntro h1,.localEdition .formIntro h1{font-size:1.8rem;max-width:75%;line-height:1.19}.formIntro>p{font-size:.88rem;line-height:1.5;margin:9px 0 0;max-width:77%}
 .birthLayout>.surface,.localeWorkspace>.surface{padding:22px 19px;border-radius:0 0 15px 15px}.localNotes{margin:20px 0}.localNotes article{padding:18px}.localEdition .pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.localEdition input{width:100%}
}
@media(max-width:650px){
 .mast:has(nav>a[href="synastry.html"]){display:grid;grid-template-columns:1fr auto;row-gap:8px}
 .mast:has(nav>a[href="synastry.html"]) nav{display:contents}
 .mast:has(nav>a[href="synastry.html"]) .brand{grid-column:1;grid-row:1}
 .mast:has(nav>a[href="synastry.html"]) .languages{grid-column:2;grid-row:1;justify-self:end}
 .mast:has(nav>a[href="synastry.html"]){grid-template-columns:auto auto auto 1fr}
 .mast:has(nav>a[href="synastry.html"]) .languages{grid-column:2/-1}
 .mast:has(nav>a[href="synastry.html"]) nav>a{grid-row:2;font-size:.85rem;justify-self:start;padding:3px 6px}
}
@media(max-width:360px){.langValue{display:none}.localEdition .pair{grid-template-columns:1fr}}
@media(max-width:740px){.localEdition .mast{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:nowrap}.localEdition .mast nav{width:auto}.localEdition .mast .languages div{right:0}}

form label[hidden]{display:none}

/* The reading uses one column of prose beside a persistent chapter index. */
.localEdition.hasReport main,.readerPage main{width:min(1120px,92vw)}
.localEdition #result{overflow:visible;background:transparent;border:0;box-shadow:none}
.localEdition .reportHeading,.readerPage .reportIntro{
  position:relative;isolation:isolate;overflow:hidden;width:100%;max-width:none;margin:0 0 26px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;border-radius:16px;
  background:radial-gradient(ellipse at 84% 110%,#393962,transparent 52%),#21243a;
  padding:clamp(24px,4vw,46px);color:#fff;
}
.reportHeading h1,.readerPage .reportIntro h1{font-family:Georgia,"Songti SC","Yu Mincho",serif;font-size:clamp(1.9rem,4vw,3.4rem);font-weight:500;letter-spacing:-.025em;margin:0 0 14px;line-height:1.18}
.localEdition .reportHeading p{margin:4px 0;line-height:1.52}
.localEdition .reportHeading a{display:inline-block;color:#eee5ff;margin-top:12px;text-decoration:underline;text-underline-offset:.22em}
.headerChart{width:clamp(115px,18vw,190px);flex-shrink:0;align-self:center;line-height:0}.headerChart svg{width:100%;height:auto}
.headerChart svg rect{fill:transparent}.headerChart svg path,.headerChart svg circle{stroke:#bbb6db}.headerChart svg text{fill:#eee6ce}
.readerLayout{display:grid;grid-template-columns:minmax(158px,207px) minmax(0,1fr);align-items:start;gap:clamp(18px,4vw,54px)}
.readerNav{position:sticky;top:18px;min-width:0;scroll-margin-top:12px}
.reportContents,.readerPage .chapters{display:grid;gap:3px;padding:8px 0;background:transparent}
.localEdition .reportContents h2{font:600 .9rem/1.5 var(--ui-font);color:#5a6078;margin:0 0 9px;padding:0 12px}
.reportContents a,.readerPage .chapters a{display:block;padding:10px 13px;background:transparent;border:0;border-left:3px solid transparent;border-radius:0 6px 6px 0;color:#383b53;font-weight:520;text-decoration:none;line-height:1.4}
.reportContents a:hover,.readerPage .chapters a:hover{background:#eaeaf2}
.reportContents a[aria-current],.readerPage .chapters a[aria-current]{background:#e7e4f3;color:#33286d;border-left-color:#6753a2;font-weight:700}
.reportContents a:last-child{margin-top:8px}
.mobileContents{display:none}
.readingPaper{min-width:0;scroll-margin:15px;background:white;border:1px solid #d9dbe5;border-radius:12px;box-shadow:0 8px 32px #29234608}
.localEdition #result .readingPaper article{width:100%;max-width:none;border:0;padding:clamp(24px,4vw,54px);margin:0}
.localEdition .readingPaper article>*{max-width:68ch;margin-inline:auto}
.localEdition .readingPaper .chapterIntro,.readerPage .folioLead{
  display:block;width:100%;max-width:68ch;margin:0 auto;padding:0 0 24px;color:#25283e;border:0;border-bottom:1px solid #dcdde7;
  border-radius:0;background:transparent;
}
.localEdition .chapterIntro h2,.readerPage .folioLead h2{
  font:500 clamp(1.8rem,3.5vw,2.72rem)/1.24 Georgia,"Songti SC","Yu Mincho",serif;
  letter-spacing:-.025em;text-wrap:balance;color:#23263b;margin:12px 0 15px
}
.localEdition .chapterIntro>p:first-child,.readerPage .folioLead>p:first-child{margin:0;color:#655085;font-weight:650;font-size:.87rem}
.localEdition #result .chapterIntro>p:last-child,.readerPage .folioLead>p:last-child{font-size:clamp(1.04rem,1.7vw,1.2rem);line-height:1.78;color:#34364b;margin-bottom:0}
.localEdition .readingPassage{border:0;border-radius:0;padding:0;background:none}
.localEdition #result .readingPassage h3{font:650 clamp(1.15rem,1.8vw,1.46rem)/1.4 var(--ui-font);color:#262b40;margin:1.75em 0 .65em}
.localEdition #result .readingPassage p{margin:.6em 0;line-height:1.86;color:#30364a}
.localEdition #result .readingPassage h4{margin:1.05em 0 .4em;font:650 .95rem/1.55 var(--ui-font);color:#694d82}
.localEdition #result .phaseReading{border-left:2px solid #d8cce3;padding:0 0 0 16px}
.readingBasis{border-top:1px solid #dfdfe7;margin-top:26px;padding:17px 0 0;color:#4d5067}
.readingBasis summary{font-weight:600;color:#4a405e;cursor:pointer}
.readerNext,.relatedChapter{display:inline-block;text-decoration:underline;text-underline-offset:3px;color:#4c3981}
.readerNext{display:block;margin-top:24px;border-top:1px solid #dddde8;padding-top:18px;text-align:right;font-weight:650}
.relatedChapter{margin:4px 14px 0 0}
.natalFigure{margin:24px auto}.signMap{display:grid;grid-template:repeat(4,minmax(66px,auto))/repeat(4,minmax(0,1fr));border:1px solid #cfccdc;background:#d9d7e5;gap:1px}
.signMap div{min-width:0;background:#fcfbff;padding:7px;color:#30354a;overflow-wrap:anywhere}
.signMap small,.signMap strong{display:block;line-height:1.4}.signMap small{color:#605876;font-size:.79rem}.signMap strong{font-size:.88rem}
.signMap .signCenter{grid-area:2/2/4/4;display:grid;place-items:center;font:2rem Georgia,serif;color:#68607d;background:#f0edf6}.signMap .risingCell{background:#e8e2f5}
.readingPaper table{width:100%;border-collapse:collapse}.readingPaper th,.readingPaper td{border-bottom:1px solid #dfdfe7;padding:8px 4px;text-align:left}
.readerPage .reportIntro{display:block;margin-top:14px;padding-right:clamp(125px,23vw,250px)}
.readerPage .reportIntro .headerChart{position:absolute;right:4%;top:50%;transform:translateY(-50%);max-height:100%;max-width:20%}
.readerPage .panel .readingFolio{padding:clamp(22px,4vw,50px)}
.readerPage .folioBody{max-width:68ch;margin:auto;padding:0}
.readerPage .folioStory{padding:19px 0;border-bottom:1px solid #e2e2ea}
.readerPage .folioStory h3{font:650 clamp(1.15rem,1.8vw,1.46rem)/1.4 var(--ui-font)}
@media(max-width:740px){
 .localEdition.hasReport main,.readerPage main{width:min(95vw,690px)}
 .localEdition #result{margin-top:12px}
 .localEdition .reportHeading,.readerPage .reportIntro{border-radius:12px;margin-bottom:10px;padding:22px 18px}
 .headerChart,.readerPage .reportIntro .headerChart{display:none}
 .readerLayout{display:block}.readerNav{position:sticky;top:0;z-index:3;scroll-margin-top:0}
 .localEdition .reportContents{display:none}
 .mobileContents{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f4f4f9;padding:9px 10px;color:#353a52;font-weight:650;font-size:.91rem;border-bottom:1px solid #d7d9e3}
 .mobileContents select{margin:0;width:min(65%,240px);min-height:42px;background-color:white}
 .localEdition #result .readingPaper article{padding:23px 16px}
 .readingPaper{border-radius:0 0 10px 10px}
 .readerPage .chapters{display:flex;flex-direction:row;flex-wrap:wrap}
 .readerPage .chapters a{padding:7px 10px}.readerPage .reportIntro h1{font-size:2.1rem}
}
@media(max-width:740px){.readingPaper{scroll-margin-top:64px}}
.timeStrip{margin-block:25px}.timeStrip figcaption{font-weight:650;color:#41425d}.spanBar{display:flex;height:13px;gap:2px;border-radius:4px;overflow:hidden;margin:10px 0}.spanBar i{flex-basis:0;background:var(--phase-ink)}
.timeStrip ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.84rem;color:#42465b}.timeStrip li:before{content:"";display:inline-block;width:.62em;height:.62em;background:var(--phase-ink);margin-inline-end:6px}
.chapterMap{margin:20px 9px 0;padding:13px 0 0;border-top:1px solid #d3d3e1}
.chapterMap div{display:flex;align-items:center;gap:9px;padding:6px 0}.chapterMap strong,.chapterMap small{display:block;line-height:1.4}.chapterMap strong{font-weight:600;color:#3a3e57;font-size:.88rem}.chapterMap small{font-size:.76rem;color:#565b73}.chapterMap i{width:30px;height:30px;display:grid;place-items:center;color:#544680;background:#eae7f1;border-radius:50%;font:1.14rem Georgia,serif}
@media(max-width:740px){.chapterMap{display:none}}

/* Birth entry and the reading use the same masthead and editorial rhythm. */
.birthLayout,.localeWorkspace{align-items:center;border:0;background:transparent;border-radius:0;box-shadow:none;gap:clamp(28px,5vw,76px);margin-block:clamp(32px,6vw,72px)}
.birthLayout .formIntro,.localeWorkspace .formIntro{padding:0;border:0;border-radius:0;background:none;color:#26273f;overflow:visible}
.formIntro h1,.localEdition .formIntro h1{font:500 clamp(2.3rem,4.8vw,4.5rem)/1.12 Georgia,"Songti SC","Yu Mincho",serif;letter-spacing:-.032em;max-width:13em}
.formIntro>p{color:#45495f;max-width:42ch}
.formIntro .lunarScene{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;flex:none;margin:24px 0 0;height:clamp(156px,16vw,216px);border-radius:80px 9px 9px 9px;background:radial-gradient(ellipse at 55% 165%,#535374,#25263e 69%);pointer-events:none}
.formIntro .lunarScene i{z-index:1;height:90%;aspect-ratio:1;max-width:100%;background:url("media/lunar-quarter.jpg") center/contain no-repeat;mix-blend-mode:screen;filter:sepia(.18)}

.birthLayout>.surface,.localeWorkspace>.surface{border:1px solid #d4d5df;border-radius:14px;padding:clamp(24px,3.4vw,44px);box-shadow:0 12px 40px #2622400a}
.localEdition .localNotes{display:block;max-width:75ch;margin:0 auto 36px}
.localNotes details{padding:14px 2px;border-top:1px solid #d9d9e3}.localNotes details:last-child{border-bottom:1px solid #d9d9e3}
.localNotes summary{cursor:pointer;font-size:.97rem;font-weight:600;color:#393b54}.localNotes details p{margin:9px 0}
@media(max-width:740px){
 .birthLayout,.localeWorkspace{gap:16px;margin:24px 0}
 .birthLayout .formIntro,.localeWorkspace .formIntro{min-height:0;padding:0 4px}
 .formIntro h1,.localEdition .formIntro h1{max-width:none;font-size:clamp(1.9rem,7.4vw,2.6rem)}
 .formIntro h1 br{display:none}.formIntro h1 br:after{content:' '}
 .formIntro>p{font-size:.93rem;max-width:44ch;color:#474a61}
 .formIntro .lunarScene{height:clamp(100px,26vw,132px);margin-top:14px;border-top-left-radius:44px}
 .birthLayout>.surface,.localeWorkspace>.surface{padding:22px 18px}
}
