:root{color-scheme:light;--ink:#172d3b;--muted:#536672;--accent:#155b55;--line:#ccd8d3;--paper:#fff;--page:#f3f5ef}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}#app{max-width:1200px;margin:auto;padding:36px 28px 22px}h1,h2,h3,p{margin-top:0}h1{font:600 38px/1.2 Georgia,serif;margin-bottom:10px}h2{font-size:26px;margin-bottom:6px}h3{font-size:19px;margin-bottom:20px}a{color:var(--accent)}.page-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.eyebrow{color:var(--accent);font-weight:700;letter-spacing:.07em;font-size:12px;text-transform:uppercase;margin-bottom:10px}.intro,.subtle{color:var(--muted)}.intro{margin-bottom:28px}.subtle{font-size:13px;margin:12px 0}.badge{font-size:12px;background:#e2eeea;color:#174c45;border:1px solid #bbd4cb;border-radius:24px;padding:8px 12px;white-space:nowrap}.controls{display:flex;align-items:center;gap:32px;background:#e7eee9;border:1px solid var(--line);padding:20px 24px;border-radius:12px;margin-bottom:28px}.controls>div{flex:1}.controls label,.candidate-panel>label{display:block;font-size:13px;font-weight:650;margin-bottom:7px}select{max-width:100%;width:100%;border:1px solid #809991;border-radius:6px;padding:10px 12px;color:var(--ink);background:white;font:inherit;font-size:14px}fieldset{border:0;padding:0;margin:0}legend{font-weight:650;font-size:13px;margin-bottom:8px}fieldset label{display:inline-flex!important;align-items:center;gap:6px;margin:0 16px 0 0!important;cursor:pointer}input{accent-color:var(--accent)}:focus-visible{outline:3px solid #ba650e;outline-offset:3px}.report-heading{margin-bottom:20px}.state{color:var(--accent);font-weight:600;font-size:14px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:22px;min-width:0}.birth-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:0}.birth-grid dd,.dasha-summary dd{margin:0}.birth-grid dd{font-size:15px}.birth-grid dd.subtle{font-size:12px;margin-top:4px}dt{font-size:12px;font-weight:650;color:var(--muted);margin-bottom:5px}dd{overflow-wrap:anywhere}.candidate-panel{padding:4px 0 18px}.candidate-panel select{width:auto;min-width:420px}.candidate-panel p{font-size:13px;margin:8px 0}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.chart-panel{margin-bottom:0}.chart-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.chart-title h3{margin:0}.chart-title span{color:var(--accent);font-size:13px;font-weight:600}.chart{max-width:460px;margin:22px auto}.chart svg{width:100%;display:block;overflow:visible}.chart-cell polygon,.chart-cell rect{fill:#fcfdf9;stroke:#226558;stroke-width:1.5}.lagna-cell polygon,.lagna-cell rect{fill:#e8f1eb}.cell-label{fill:#335a50;font:600 12px system-ui,sans-serif}.cell-planets{fill:#142f3c;font:700 15px system-ui,sans-serif;white-space:pre}.chart-center{fill:#155b55;font:600 28px Georgia,serif}.legend{display:flex;flex-wrap:wrap;gap:5px 17px;font-size:12px;margin:14px 0 0}.legend strong{color:var(--accent)}.chart-grid+.legend+.subtle{margin-bottom:28px}details>summary{cursor:pointer;font-size:14px;font-weight:650;padding:8px 0;color:var(--accent)}details[open]>summary{margin-bottom:12px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:6px;margin:10px 0}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}caption{text-align:left;padding:12px;color:var(--muted);font-size:12px;background:#f8faf7}thead{background:#eaf0ec;color:#214d43}th,td{padding:11px 12px;border-top:1px solid #e0e6e2;vertical-align:top}thead th{border-top:0;white-space:nowrap}tbody th{font-weight:600}tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}time{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.moon-note{background:#f1f5ee;padding:14px 16px;border-radius:6px;font-size:14px;margin:20px 0 0}.dasha-summary{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:16px;margin:0 0 20px}.dasha-summary dd{font-size:19px;font-weight:600}.birth-active{background:#eaf3ed}.row-note{display:block;font-size:10px;font-weight:500;color:#466251;white-space:nowrap}.ad-groups{margin-top:20px}.ad-groups details{border-top:1px solid var(--line);padding:10px 0}.ad-groups td:last-child{white-space:nowrap}.notice{padding:18px 22px;border-radius:9px;margin-bottom:22px;font-size:14px}.warning{background:#fff2d9;border:1px solid #d6ac67;color:#604019}.notice strong{display:block;margin-bottom:5px}.empty-state{border-left:4px solid #8b743f}.empty-state li{margin:20px 0}.empty-state li p{margin:5px 0;font-size:14px}.provenance dt{margin-top:14px}.provenance dd{font-size:13px;margin:0}pre{font:12px/1.6 ui-monospace,Consolas,monospace;background:#f2f5f2;border-radius:6px;padding:15px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;overflow:auto}footer{color:var(--muted);font-size:12px;padding:12px 0}
@media(max-width:760px){#app{padding:22px 14px}.page-header{gap:8px}h1{font-size:28px}.badge{font-size:10px;padding:6px 8px}.intro{font-size:13px}.controls{display:block;padding:17px; margin-bottom:22px}.controls fieldset{margin-top:16px}.birth-grid{grid-template-columns:1fr 1fr;gap:18px}.panel{padding:18px}.chart-grid{grid-template-columns:1fr}.chart-title h3{font-size:17px}.chart-title span{font-size:12px}.candidate-panel select{min-width:0;width:100%;font-size:12px}.chart{margin:18px 0}.dasha-summary{grid-template-columns:1fr 1fr}.dasha-summary>div:last-child{grid-column:1/-1}.dasha-summary dd{font-size:17px}h2{font-size:22px}.report-heading p{font-size:13px}th,td{padding:9px}fieldset label{font-size:13px!important}.legend{gap:5px 12px}}
