:root{--ink:#173b38;--muted:#687a75;--paper:#f6f5ef;--line:#dae1d9;--gold:#a58a52}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Noto Sans JP',sans-serif;font-size:14px;line-height:1.7}header{max-width:1240px;margin:auto;padding:25px 38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{color:var(--ink);text-decoration:none;font-family:serif;font-size:23px;letter-spacing:.12em}.edition{font-size:10px;letter-spacing:.12em;color:var(--muted)}.edition b{font-weight:400;margin-left:15px;padding:4px 8px;border:1px solid var(--line);border-radius:4px}main{max-width:1240px;margin:auto;padding:0 38px}.hero{position:relative;padding:48px 0 42px;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:.18em;color:var(--gold);font-weight:600}h1{font-family:serif;font-size:39px;font-weight:500;line-height:1.5;letter-spacing:.09em;margin:14px 0}p{color:var(--muted)}.hero p{font-size:13px;line-height:1.9}.orbit{position:absolute;right:8%;top:35px;border:1px solid #d6ded2;width:245px;height:245px;border-radius:50%;transform:rotate(-24deg)}.orbit:before,.orbit:after{content:'';position:absolute;border:1px solid #d6ded2;border-radius:50%;inset:30px}.orbit:after{inset:70px}.orbit i{position:absolute;background:var(--paper);border:1px solid #b9c8b6;border-radius:50%;width:14px;height:14px;left:23px;top:28px}.orbit span{position:absolute;font-size:60px;left:90px;top:72px;color:var(--gold)}.orbit b{position:absolute;font-size:32px;right:-9px;top:100px;font-weight:400;background:var(--paper)}.orbit em{position:absolute;bottom:0;left:20px;font-size:30px;background:var(--paper)}.workspace{display:grid;grid-template-columns:350px 1fr;gap:26px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px}.section-title{display:flex;align-items:center;gap:10px}.section-title h2{font-size:17px;margin:0;font-weight:600}.section-title .muted{margin-left:auto;font-size:11px}.step{font-size:10px;color:var(--gold);border:1px solid #e6e0d1;border-radius:50%;width:26px;height:26px;display:grid;place-items:center}.small{font-size:12px}.hint{font-size:11px;line-height:1.7;color:var(--muted)}label{font-size:12px;display:block}input,select,button{font:inherit}input,select{border:1px solid #cfd9d2;background:#fcfdfb;color:var(--ink);border-radius:6px;padding:10px;max-width:100%;min-width:0}input[type=datetime-local]{display:block;width:100%;margin-top:6px;font-size:14px}button{cursor:pointer;transition:background .15s}button:hover{filter:brightness(.96)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #c4ab70;outline-offset:3px}button:disabled{opacity:.6;cursor:wait}.primary{background:var(--ink);color:white;border:0;border-radius:7px;padding:15px;font-weight:600;letter-spacing:.04em}.secondary{border:1px solid #bccbc0;border-radius:6px;background:#f6f8f3;padding:9px 12px;font-size:12px;color:var(--ink)}.full{width:100%;margin-top:14px}.birthline{display:flex;gap:10px;align-items:end;margin-top:10px}.birthline label{flex:1}.birthline select{width:100%;font-size:11px;padding:9px 4px}.birthline button{white-space:nowrap}.muted{color:var(--muted);font-weight:400}summary{cursor:pointer;font-size:12px;color:var(--ink)}details{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.natal-row{display:grid;grid-template-columns:63px 1fr 43px 11px 43px 11px;gap:4px;align-items:center;margin:8px 0;font-size:11px}.natal-row label{font-size:12px}.natal-row select,.natal-row input{padding:6px 3px;font-size:12px;width:100%}.inline-actions{display:flex;justify-content:space-between}.text-button{border:0;background:none;color:var(--muted);text-decoration:underline;text-underline-offset:3px;font-size:11px;padding:10px 0}.notice{font-size:12px;color:var(--ink)}.control-line{display:flex;gap:18px;margin-top:22px;align-items:end}.control-line>label:first-child{flex:1}.orb-label select{display:block;margin-top:6px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chips label{display:flex;align-items:center;gap:4px;border:1px solid var(--line);padding:4px 9px;border-radius:20px;font-size:11px}.chips input{accent-color:var(--ink);margin:0}.apply-only{margin-top:16px}.apply-only input{accent-color:var(--ink)}.result-heading{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:28px 0 16px}.result-heading h2{font-family:serif;font-weight:500;font-size:21px;margin:5px 0 0}#count{font-family:sans-serif;font-size:12px;color:var(--muted)}#resultTime{font-size:10px;text-align:right;color:var(--muted)}.empty{text-align:center;border:1px dashed #cbd6ca;border-radius:12px;padding:46px 12px}.empty>span{font-size:34px;color:var(--gold)}.empty h3{font-family:serif;font-size:17px;font-weight:400}.empty p{font-size:12px}.result-card{background:white;border:1px solid var(--line);border-radius:10px;padding:19px 22px;margin-bottom:12px;display:grid;grid-template-columns:1fr auto;gap:12px}.planet-pair{font-size:17px;font-weight:500}.planet-pair small{font-size:10px;color:var(--muted);margin-right:4px}.planet-pair .aspect-symbol{color:var(--gold);margin:0 13px}.positions{font-size:11px;color:var(--muted);margin-top:6px}.card-right{text-align:right}.orb-number{font-size:19px;font-variant-numeric:tabular-nums}.phase{display:inline-block;font-size:10px;background:#eef4e9;color:#456947;border-radius:4px;padding:2px 7px;margin-top:5px}.phase.separating{background:#f1f0ed;color:#73756b}.aspect-name{font-size:10px;color:var(--muted);margin-top:3px}.result-note{font-size:11px;color:var(--muted)}footer{border-top:1px solid var(--line);margin-top:45px;padding:22px 0 30px;display:flex;justify-content:space-between;gap:20px;font-size:12px}footer>span{font-family:serif;white-space:nowrap}footer p{margin:0;font-size:10px;text-align:right}footer a{color:var(--muted)}@media(max-width:800px){.workspace{grid-template-columns:1fr}.orbit{right:-75px;opacity:.45;width:210px;height:210px;top:55px}.hero h1,.hero p,.hero .eyebrow{position:relative;z-index:1}.hero h1{font-size:30px}.hero p{font-size:12px}header{padding:18px 20px}.brand{font-size:19px}.edition{font-size:8px}.edition b{margin-left:5px}main{padding:0 20px}.hero{padding:32px 0 25px}.panel{padding:20px}.result-heading h2{font-size:18px}.planet-pair{font-size:15px}.result-card{padding:16px}.planet-pair .aspect-symbol{margin:0 6px}.control-line{gap:10px}footer{display:block}footer p{text-align:left;margin-top:10px}.natal-row{grid-template-columns:65px 1fr 55px 13px 55px 13px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.reading-guide{font-size:12px;line-height:1.9}.focus-intro{padding:18px 20px;background:#e9eee5;border-radius:9px;margin-bottom:20px}.focus-intro>span{font-family:serif;font-size:19px}.focus-intro p{font-size:12px;margin:5px 0 0}.focus-group>h3{font-size:16px;font-weight:500;border-bottom:1px solid var(--line);padding-bottom:9px;margin-top:26px}.focus-group>h3 span{font-size:11px;color:var(--muted);font-weight:400;margin-left:10px}.focus-empty{font-size:12px;padding:12px;border:1px dashed var(--line);border-radius:7px}.focal-card{border-left:3px solid #a58a52}.interpretation,.period-slot{grid-column:1/-1}.interpretation{border-top:1px solid #edf0e9;padding-top:12px;font-size:12px}.interpretation b{font-weight:500}.interpretation p{margin:5px 0 0;line-height:1.9}.period-detail{font-size:11px;background:#f6f8f3;border-radius:6px;padding:10px 12px}.period-range{font-variant-numeric:tabular-nums}.period-range span{display:block;color:var(--muted);font-size:10px}.period-detail details{margin-top:8px;padding-top:8px}.period-detail p{margin:5px 0}.other-aspects{margin:28px 0}.other-aspects>summary{font-size:14px;padding-bottom:16px}.focus-group .result-card{margin-bottom:14px}@media(max-width:500px){.focus-group>h3 span{display:block;margin-left:0;margin-top:3px}.period-range{font-size:11px}}

.birth-datetime{display:grid;grid-template-columns:1.2fr 1fr;gap:10px}.birth-datetime input{display:block;width:100%;margin-top:5px;padding:10px 7px}.check-label{display:flex;align-items:center;gap:7px;font-size:11px;margin:12px 0}.check-label input{accent-color:var(--ink)}#birthForm>label>select{display:block;width:100%;margin:5px 0 10px}.place-line{display:grid;grid-template-columns:1fr 1fr;gap:8px}.place-line input,.place-line select,#zone{display:block;width:100%;margin-top:5px;font-size:12px;padding:9px 5px}.place-line label{font-size:11px}#zone{margin-bottom:10px}.time-settings input[type=number]{display:block;width:100%;margin-top:5px}.calculation-summary{font-size:11px;line-height:1.8;color:var(--ink);word-break:normal}.calculation-summary:not(:empty){padding:10px;background:#eef3e9;border-radius:6px}input:disabled{opacity:.5}button[type=submit]{font-size:12px} [hidden]{display:none!important}

.approximate-note{font-size:12px;padding:12px;background:#f1ead9;border-radius:7px;color:#73603a}

.progress-section{margin-top:27px;padding:24px;background:#eeedf1;border:1px solid #d8d4df;border-radius:12px}.progress-section .result-heading{margin:0}.progress-section .eyebrow{color:#81718c}.progress-section h2{font-size:23px}.progress-section .check-label{white-space:nowrap}.progress-settings{display:flex;gap:14px;align-items:end;margin:18px 0 10px}.progress-settings select{display:block;margin-top:5px;min-width:120px}.progress-luminaries{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.progress-luminary{background:#fff;border-radius:9px;border:1px solid #dcd8e0;padding:17px}.progress-luminary>div{font-size:12px;color:#81718c}.progress-luminary>b{font-family:serif;font-size:20px;font-weight:500;display:block;margin-top:5px}.progress-luminary p{font-size:11px;line-height:1.8;margin-bottom:0}.progress-positions table{width:100%;border-collapse:collapse;background:#fff;margin:12px 0;font-size:11px}.progress-positions th,.progress-positions td{padding:8px 5px;text-align:left;border-bottom:1px solid #e4e1e8}.progress-positions th{font-weight:500}.progress-subtitle{font-size:15px;font-weight:500;margin-top:24px}.progress-subtitle span{font-size:11px;color:var(--muted);margin-left:8px}.progress-card{border-color:#dcd8e0}.progress-card.focal-card{border-left-color:#91809e}.progress-card .phase{background:#eeebf3;color:#776485}.method-tag{font-size:11px;font-family:sans-serif;color:var(--muted)}@media(max-width:600px){.progress-section{padding:18px}.progress-section .result-heading{align-items:start;flex-direction:column;gap:0}.progress-section h2{font-size:21px}.progress-luminaries{grid-template-columns:1fr}.progress-settings{align-items:center}.progress-luminary>b{font-size:20px}.edition{max-width:120px;text-align:right}.progress-positions th,.progress-positions td{padding:8px 4px;font-size:10px}}

.progress-ingresses{margin:24px 0}.ingress-card{border-color:#d7cba8;background:#fffcf4}.ingress-card .phase{background:#eee5cc;color:#776334}.ingress-card .hint{margin:5px 0 0;font-size:10px}

/* Forest observatory identity */
:root{--ink:#193c38;--gold:#a68a50;--paper:#f4f2e9;--line:#d9ded2}
body{background:linear-gradient(180deg,#e8e9dd 0,#f4f2e9 820px);background-attachment:fixed}
header{padding-top:24px;padding-bottom:24px;border-bottom:0}.brand{font-size:23px;letter-spacing:.08em}.edition{letter-spacing:.08em}
.hero{isolation:isolate;min-height:440px;margin:0 0 32px;padding:52px 50px;display:flex;align-items:center;border-radius:16px;background:#102d32 url('assets/forest-observatory.png') center center/cover no-repeat;box-shadow:0 16px 40px #152d2414}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,23,27,.48),rgba(5,23,27,.2) 45%,transparent 74%);z-index:-1}
.hero-content{max-width:520px}.hero h1{margin:0 0 20px;font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:46px;line-height:1.5;font-weight:500;letter-spacing:.14em;color:#fff9e7;text-shadow:0 2px 15px #00101280}.hero .eyebrow{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;color:#e7d8b2;font-size:15px;font-weight:400;letter-spacing:.15em;margin-bottom:15px}.hero p{color:#e0e6dc;font-size:12px;line-height:2;margin:0;letter-spacing:.025em;text-shadow:0 1px 5px #001015}
.panel{background:#fffefb;box-shadow:0 4px 20px #1c302a04}.primary{background:#1c4541}.progress-section{background:#eeedf0}.empty{background:#ffffff45}footer{margin-top:42px}footer>span{letter-spacing:.06em}
@media(max-width:800px){header{gap:12px;padding:18px 20px}.brand{font-size:18px;letter-spacing:.05em}.edition{font-size:7px;max-width:100px;line-height:1.8}.edition b{display:inline-block;padding:0 5px}.hero{min-height:410px;padding:32px 28px;margin-bottom:25px;border-radius:12px;background-position:58% center}.hero::before{background:linear-gradient(90deg,rgba(5,23,27,.66),rgba(5,23,27,.25) 65%,rgba(5,23,27,.05))}.hero h1{font-size:36px;line-height:1.55;letter-spacing:.1em;margin-bottom:20px}.hero .eyebrow{font-size:13px;letter-spacing:.08em}.hero p{font-size:11px;max-width:330px}.hero h1,.hero p,.hero .eyebrow{z-index:auto}.hero-content{max-width:100%}}
@media(max-width:440px){header{padding:16px 16px}.brand{font-size:17px}.edition{max-width:82px;font-size:6px}main{padding:0 16px}.hero{min-height:410px;padding:30px 22px;background-position:61% center}.hero h1{font-size:32px}.hero .eyebrow{font-size:12px}.hero p{font-size:10px;line-height:2}.hero::before{background:linear-gradient(90deg,rgba(5,23,27,.74),rgba(5,23,27,.32) 72%,rgba(5,23,27,.12))}}

/* Requested navy background and white title */
body{background:#02132D}.brand,.hero h1{color:#FFFFFF}header .edition{color:#c4ccda}header .edition b{border-color:#56647a}.hero{box-shadow:0 16px 40px #00000024}#progressSection{scroll-margin-top:20px}.observations>.result-heading h2,.observations .focus-group>h3{color:#FFFFFF}.observations>.reading-guide,.observations>#periodStatus,.observations #count,.observations #resultTime,.observations .focus-group>h3 span,.observations .result-note{color:#c3cfdf}.observations .other-aspects>summary{color:#e2e9f2}.observations .empty,.observations .focus-empty{background:#fffefb;color:var(--ink)}.observations .focus-group>h3{border-color:#53647b}.observations .other-aspects{border-color:#53647b}footer{border-color:#43526a}footer>span{color:#FFFFFF}footer p,footer a{color:#c3cfdf}.presented{display:inline-block;margin-top:7px;font-family:serif;font-size:11px;font-weight:400;letter-spacing:.05em;color:#FFFFFF}

/* Navy typography and sky-blue supporting accents */
:root{--ink:#02132D;--muted:#02132D;--accent:#66C5FF}
.primary{background:#02132D;color:#FFFFFF}.secondary{color:#02132D;border-color:#02132D;background:#fffefb}.text-button{color:#02132D}.phase,.phase.separating,.progress-card .phase{color:#02132D}.progress-section .eyebrow,.progress-luminary>div{color:#02132D}.progress-card.focal-card{border-left-color:#66C5FF}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #66C5FF;outline-offset:3px}
.booking-invitation{margin-top:38px;padding:28px 30px;background:#fffefb;border:1px solid #d9ded2;border-top:3px solid #66C5FF;border-radius:12px}.booking-invitation p{margin:0 0 18px;color:#02132D;font-size:14px;line-height:2}.booking-invitation>a{display:inline-flex;align-items:center;gap:15px;padding:11px 20px;border-radius:6px;color:#FFFFFF;background:#02132D;font-size:13px;text-decoration:none}.booking-invitation>a:hover{box-shadow:0 0 0 2px #66C5FF}.booking-invitation>a>span{color:#66C5FF}@media(max-width:600px){.booking-invitation{padding:22px 20px}.booking-invitation p{font-size:13px}.booking-invitation>a{justify-content:center;width:100%}}

.observations .method-tag{color:#c3cfdf}

.progress-stations{margin:24px 0}.station-card{border-left:3px solid #66C5FF}.station-date{font-size:17px;font-variant-numeric:tabular-nums}.station-card .phase{color:#02132D;background:#e6f5ff}

/* One fixed natal wheel: all three sets share exact angular positions. */
.chart-section{margin-top:26px;scroll-margin-top:20px;overflow:hidden;background:#fffefa}
.chart-section .result-heading{margin-top:0}.chart-system{font-size:11px;color:#6a7890;white-space:nowrap}
.chart-toggles{display:flex;flex-wrap:wrap;gap:8px 16px;margin:16px 0 8px;padding:0;border:0}.chart-toggles legend{font-size:11px;margin-bottom:8px}.chart-toggles label{display:flex;gap:5px;align-items:center;font-size:12px;font-weight:600}.chart-n{color:#02132D}.chart-p{color:#21814e}.chart-t{color:#c93f48}.chart-toggles input{accent-color:currentColor}
.horoscope{display:block;width:100%;height:auto;max-width:760px;margin:0 auto;overflow:visible}.horoscope text{dominant-baseline:middle;text-anchor:middle;font-family:'Arial Unicode MS','Noto Sans Symbols 2','Segoe UI Symbol',sans-serif;fill:currentColor}
.zodiac-symbol{font-size:22px;color:#8f7544}.house-number{font-size:13px;color:#78869a}.axis-label{font-size:12px;font-weight:600;color:#02132D}.chart-center{font-size:16px;letter-spacing:3px;color:#02132D}.chart-center-sub{font-size:8px;letter-spacing:2px;color:#8f7544}.planet-symbol{font-size:19px;font-weight:500}.angle-symbol{font-size:10px;font-weight:600}.chart-body{cursor:pointer}.chart-body:focus{outline:none}.chart-body:focus>circle:first-of-type{stroke:#66C5FF;stroke-width:2}.chart-body:hover{filter:brightness(.7)}
.chart-selection{min-height:3.4em;font-size:12px;padding:12px;background:#f0f4f9;border-radius:6px;margin:8px 0 0}.chart-table-scroll{overflow-x:auto}.chart-section table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.chart-section th,.chart-section td{padding:9px 8px;border-bottom:1px solid #e1e6ee;text-align:left}.chart-section td small{display:block;font-size:10px;opacity:.8}.cusp-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin-top:12px;font-size:12px}.cusp-grid>div{display:flex;justify-content:space-between;gap:10px}.cusp-grid span{font-size:10px;color:#6a7890}.cusp-grid b{font-weight:400}
@media(max-width:600px){.chart-section{padding:18px 10px}.chart-section h2{font-size:19px}.chart-toggles{gap:10px}.chart-toggles label{font-size:11px}.chart-section .hint{padding:0 6px}.cusp-grid{grid-template-columns:1fr}.chart-system{font-size:10px}.chart-center{font-size:19px}.chart-center-sub{font-size:11px}.planet-symbol{font-size:21px}.axis-label{font-size:15px}.house-number{font-size:16px}}
@media(max-width:600px){.horoscope .planet-symbol{font-size:25px}.horoscope .angle-symbol{font-size:13px}.horoscope .zodiac-symbol{font-size:27px}.horoscope .house-number{font-size:18px}}

.transit-settings{display:flex;align-items:end;margin:18px 0 10px}.transit-settings label{color:#FFFFFF}.transit-settings select{display:block;margin-top:5px;min-width:120px;color:#02132D}
.controls .control-line{display:block}.controls .control-line>label{display:block;width:100%;min-width:0}.controls #target{box-sizing:border-box;width:100%;min-width:0;max-width:100%}

/* Contain native mobile date controls inside the same border box as the button. */
.controls .datetime-field{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin-top:6px;border:1px solid #cfd9d2;border-radius:6px;background:#fcfdfb;overflow:hidden}
.controls .datetime-field #target{display:block;box-sizing:border-box;-webkit-appearance:none;appearance:none;width:100%;inline-size:100%;min-width:0;min-inline-size:0;max-width:100%;max-inline-size:100%;margin:0;border:0;border-radius:0;background:transparent;padding:10px;min-height:44px;font-size:16px}
.controls #target::-webkit-date-and-time-value{min-width:0;text-align:left}.controls #target::-webkit-datetime-edit{min-width:0;padding:0}
.controls .datetime-field:focus-within{outline:3px solid #66C5FF;outline-offset:3px}.controls .datetime-field #target:focus-visible{outline:none}
