/* A clear front door and a chart-first reading flow. */
:root{--ink:#282d36;--muted:#69717d;--rose:#9a536a;--rose-dark:#70394d;--line:#e7e3e4}
body{color:var(--ink);background:#fff}
.site-header{height:76px;padding:0 30px;gap:20px;border-bottom:1px solid #eee7e8;box-shadow:none}
.brand{flex:0 0 auto}
.brand-subtitle{letter-spacing:.045em}
.header-navigation{display:flex;align-items:center;justify-content:flex-end;gap:2px;min-width:0;margin-left:auto}
.header-navigation a{padding:9px 11px;color:#4d5560;text-decoration:none;font-weight:600;font-size:13px;border-radius:8px;white-space:nowrap}
.header-navigation a:hover,.header-navigation a[aria-current="page"]{color:var(--rose-dark);background:#f9eff1}
.site-shell{grid-template-columns:minmax(0,1fr) 206px}
.site-sidebar{top:76px;min-height:calc(100vh - 76px);padding-top:28px}
.site-sidebar h2{font-size:20px}
.site-sidebar nav a{font-size:13px}
.hero{grid-template-columns:minmax(0,.9fr) minmax(390px,1.1fr);gap:34px;padding:46px 38px;background:#fff}
.hero-copy{align-self:center}
.hero-copy h1{font-size:clamp(39px,3.4vw,54px);line-height:1.2;margin:11px 0 15px;letter-spacing:-.035em}
.hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.75;max-width:520px}
.hero-notes{margin-top:27px;gap:8px}
.hero-notes span{border:1px solid #ead8de;border-radius:100px;background:#fff9fa;padding:5px 12px;color:#754e5c;font-size:12px}
.hero-roadmap{display:flex;gap:9px;flex-wrap:wrap;border-top:1px solid #eae4e6;padding-top:21px;margin-top:28px;color:#6b6570;font-size:12px}
.hero-roadmap span{white-space:nowrap}
.hero-form{border:1px solid #e4dadd;border-radius:16px;padding:25px 27px 18px;box-shadow:0 18px 46px #5726370b}
.form-heading h2{font-size:24px}
.hero-form input,.hero-form select{border-color:#dcd7d8;border-radius:8px}
.hero-form label{font-size:13px}
.hero-form .primary{border-radius:8px;background:#833f58;font-size:15px;min-height:50px}
.hero-form .primary:hover{background:#632c43}
.explore-index{padding:42px 38px 44px;border-bottom:1px solid #ebe4e5;background:#fff}
.explore-heading h2{font-size:27px;line-height:1.3;margin:4px 0 4px;letter-spacing:-.02em}
.explore-heading>p:last-child{color:var(--muted);font-size:14px;margin:0 0 19px}
.explore-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.explore-grid a{display:flex;flex-direction:column;min-height:180px;padding:18px 17px;border:1px solid #e8dfe2;border-radius:12px;text-decoration:none;background:#fff;transition:transform .18s,border-color .18s,box-shadow .18s}
.explore-grid a:hover{transform:translateY(-3px);border-color:#cbaeb8;box-shadow:0 10px 22px #5d304411}
.explore-grid a span{color:#a06378;font-size:11px;font-weight:700;letter-spacing:.05em}
.explore-grid a strong{font-size:18px;margin-top:10px;color:#29313a;line-height:1.4}
.explore-grid a small{font-size:12px;line-height:1.55;color:var(--muted);margin-top:5px}
.explore-grid a b{margin-top:auto;padding-top:12px;color:#8a4860;font-size:12px}
.workspace{padding:45px 38px 70px;background:#fff}
.workspace-intro{margin-bottom:18px}
.workspace-intro h2{font-size:29px}
.tabs{border-radius:10px 10px 0 0;overflow:hidden;background:#f7f5f5}
.tab{font-size:15px;min-height:70px;padding:12px 15px}
.tab.active{background:#fff;box-shadow:inset 0 3px 0 #9e5870}
.tab small{font-size:11px}
.workspace-panel{border-radius:0 0 10px 10px;padding:23px}
.panel-title h2{font-size:28px}
.chart-meta{border-radius:9px;background:#fbf7f8}
.main-chart,.division-card,.detail-card{border-radius:10px}
.empty{background:#fff;border:1px dashed #decbd1;border-radius:9px;min-height:340px}
.empty-link,.text-link{display:inline-block;background:none;border:0;color:#844b61;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px;padding:6px 0;cursor:pointer}
.chart-key .text-link{margin-top:11px}
.reading-guide{display:flex;align-items:center;gap:11px;flex-wrap:wrap;background:#faf6f7;border:1px solid #e9dfe2;border-radius:9px;padding:12px 15px;margin-bottom:16px;font-size:12px;color:#64646a}
.reading-guide strong{color:#73475a;margin-right:5px}
.reading-guide span{border-left:1px solid #ddcdd2;padding-left:12px}
.reading-jump{border:0;border-left:1px solid #ddcdd2;background:transparent;color:#6d5962;padding:5px 0 5px 12px;font-size:13px;text-align:left}
.reading-jump:hover{color:#844b61;text-decoration:underline}
.degree-panel{margin-bottom:17px}
.division-column .division-card:last-child{order:0}
.navamsa-card .division-grid svg{max-height:440px;max-width:100%}
@media(max-width:900px){.division-column{display:flex;flex-direction:column}.navamsa-card .division-grid svg{max-height:520px}}
.yoga-card .subhead{align-items:center}
.yoga-filter{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0 6px}
.yoga-category-note{font-size:12px;line-height:1.6;color:var(--muted);margin:4px 0 0}
.yoga-filter button{border:1px solid #ddcdd3;background:#fff;color:#665961;border-radius:100px;padding:8px 13px;font-size:12px;font-weight:600;min-height:36px}
.yoga-filter button.active,.yoga-filter button:hover{border-color:#8c5064;background:#8c5064;color:#fff}
.filter-count{font-size:12px;color:var(--muted);margin:0 0 14px}
.yoga-categories{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.yoga-category{border-radius:9px;background:#fbf8f9;padding:13px}
.yoga-category strong{font-size:14px}
.yoga-category p{font-size:12px;line-height:1.55;max-height:3.1em;overflow:hidden}
.yoga-result{border:1px solid #e5dde0;border-radius:9px;padding:14px 17px;margin:9px 0;background:#fff}
.yoga-result h3{font-size:17px;line-height:1.45;color:#493c45;margin:0 0 5px}
.yoga-result .yoga-preview{font-size:14px;line-height:1.65;color:#69717d;margin:0 0 7px}
.yoga-evidence summary{font-size:13px;color:#8a4a60;font-weight:700;cursor:pointer;list-style:revert;padding:4px 0}
.yoga-evidence[open]{border-top:1px solid #eee7e9;padding-top:8px;margin-top:10px}
.yoga-evidence p{font-size:13px;line-height:1.7;margin:7px 0}
.yoga-evidence .yoga-reading{background:#fbf3f5;border-left:3px solid #b7778c;padding:9px 11px}
.yoga-evidence small{display:block;margin-top:11px;color:#777078}
.special-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.special-item{border-radius:8px;background:#fff}
.soft-note,.technical-note{border-radius:7px}
.degree-wheel-surface svg,#transit-chart svg{max-width:960px}
.source-panel{background:#fbf7f8;padding:38px}
#top,#workspace,#birth-form,.standalone-page,#yoga-section,#transit-section{scroll-margin-top:95px}
#interpretation-chart,#planet-pairs,.yoga-card{scroll-margin-top:100px}
@media(max-width:1230px){.header-navigation a{font-size:12px;padding:8px 7px}.site-shell{grid-template-columns:minmax(0,1fr) 190px}.explore-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.header-navigation{display:none}.site-shell{display:block}.site-sidebar{top:0}.site-header{height:70px}#menu-toggle{display:block;margin-left:auto}.hero{grid-template-columns:1fr 1fr;padding:34px 24px}.explore-index,.workspace{padding-left:24px;padding-right:24px}}
@media(max-width:790px){.hero{grid-template-columns:1fr;gap:22px}.hero-copy h1{font-size:40px}.hero-roadmap{margin-top:18px}.explore-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.yoga-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.reading-jump{border-left:0;padding-left:0}}
@media(max-width:600px){.site-header{height:65px}.hero,.explore-index,.workspace{padding-left:16px;padding-right:16px}.hero-copy h1{font-size:34px}.hero-form{padding:18px}.explore-heading h2{font-size:24px}.explore-grid{grid-template-columns:1fr;gap:9px}.explore-grid a{min-height:130px}.workspace-panel{padding:15px}.reading-guide{display:grid;gap:5px}.yoga-categories{grid-template-columns:1fr 1fr}.special-grid{grid-template-columns:1fr 1fr}.yoga-result{padding:12px}.source-panel{padding:26px 16px}#top,#workspace,#birth-form,.standalone-page,#yoga-section,#transit-section{scroll-margin-top:70px}}
@media print{.header-navigation,.explore-index,.reading-guide,.yoga-filter,.empty-link,.text-link{display:none!important}}

/* Both detailed wheels use the same measurable zoom controls on every screen size. */
.wheel-scale-controls{display:flex;justify-content:flex-end;align-items:center;gap:5px;margin:0 0 9px}
.wheel-scale-controls button{border:1px solid #d5c8ca;border-radius:7px;background:#fff;color:#684956;min-width:35px;height:35px;padding:0 10px;font:600 14px 'Sarabun',Tahoma,sans-serif;cursor:pointer}
.wheel-scale-controls button:hover,.wheel-scale-controls button:focus-visible{background:#f8eff2;border-color:#ab788a}
.wheel-scale-controls output{min-width:50px;text-align:center;color:#5e5159;font-size:13px;font-weight:700}
.degree-wheel-surface,#transit-chart{display:block;overflow-x:auto;overflow-y:hidden;max-width:100%;scrollbar-color:#b793a0 #f7eff2}
.degree-wheel-surface svg,#transit-chart svg{display:block;width:var(--wheel-width,100%)!important;max-width:none!important;min-width:0!important;height:auto;margin:0 auto}
@media print{.wheel-scale-controls{display:none}}
.positions-table{min-width:1080px}
.positions-table th,.positions-table td{white-space:nowrap;text-align:left}
.positions-table td:first-child,.positions-table th:first-child{position:sticky;left:0;background:#fff;z-index:1;font-weight:700}
.positions-table thead th:first-child{background:#fbf6f7;z-index:2}
.positions-source-note{font-size:12px;line-height:1.7;color:#6b6268;margin:10px 0 0}

/* One birth context above the tabs; each tab owns a different reading task. */
.chart-context{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 20px;border:1px solid var(--line);border-top:0;background:#fff}
.chart-context[hidden]{display:none}
.chart-context .chart-meta{flex:1;min-width:0;margin:0;padding:0;border:0;background:transparent}
.chart-context .chart-meta strong{font-size:16px}
.chart-context .chart-meta p{font-size:12px;line-height:1.55}
.chart-context .actions{flex:0 0 auto}
.chart-context .actions button{border-radius:7px}
.chart-context+.workspace-panel,.chart-context+section.workspace-panel{border-top:0}
#chart-section .main-chart .chart-layout{display:block}
#chart-section .main-chart #chart svg{max-width:620px}
#chart-section .lower-grid{display:block}
#yoga-section>.panel-title{display:none}
#yoga-section .degree-panel{border:0;padding:0;margin:0 0 18px}
#yoga-section .degree-panel .subhead{margin:0 0 6px;padding:0 0 9px}
#yoga-section .degree-layout{display:block}
#yoga-section .wheel-stack{width:100%;min-width:0}
#yoga-section .degree-wheel-surface{max-width:960px;margin:0 auto}
#yoga-section>.detail-card{margin-bottom:17px}
#yoga-section .positions-table{min-width:1000px}
#yoga-section .reading-grid{margin-top:0}
#yoga-section .wheel-scale-key{margin:4px 0 0}
#yoga-section .planet-number-key{margin:4px 0 0}
@media(max-width:790px){.chart-context{display:block}.chart-context .actions{margin-top:10px}.chart-context .chart-meta{display:block}.chart-context .method-pill{display:inline-block;margin-top:8px}}

/* Vimshottari dates: one overview, then every nested period on demand. */
.lower-grid{grid-template-columns:minmax(0,1fr)}
#dasha-section{order:-1;min-width:0}
#dasha-section .subhead{margin-bottom:16px}
#dasha-section .subhead h3{font-size:23px}
#dasha-summary{font-size:15px;line-height:1.7;padding:13px 16px;margin-bottom:16px}
#current-dasha{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.dasha-current-card{background:#fff;border:1px solid #e4d7db;border-top:3px solid #98566d;border-radius:9px;padding:15px;min-width:0}
.dasha-current-card small{font-size:12px;color:#8b6371;font-weight:700}
.dasha-current-card strong{display:block;font-size:25px;line-height:1.35;color:#3b3039;margin:5px 0 9px}
.dasha-current-card span{display:block;font-size:15px;line-height:1.55;color:#44444a;font-weight:600}
.dasha-current-card .dasha-age{font-size:12px;font-weight:400;color:#777078;margin-top:5px}
.dasha-overview{margin:27px 0 23px}
.dasha-overview h4,.dasha-list-title{font-size:20px;line-height:1.35;margin:0;color:#36323a}
.dasha-help{font-size:13px;color:#777078;margin:5px 0 14px}
.dasha-timeline{display:flex;gap:5px;overflow-x:auto;padding:2px 2px 12px;scrollbar-color:#ceb8c0 transparent}
.dasha-timeline-segment{flex:1 1 122px;min-width:122px;text-align:left;border:1px solid #e0d4d8;border-top:5px solid #b78495;border-radius:7px;background:#fff;padding:11px 10px;min-height:86px}
.dasha-timeline-segment strong{display:block;color:#6f4154;font-size:16px}
.dasha-timeline-segment small{display:block;color:#777078;font-size:11px;line-height:1.45;margin-top:5px}
.dasha-timeline-segment:hover{background:#fcf3f5;border-color:#b77b90}
.dasha-timeline-segment.is-current{background:#8b4b63;border-color:#8b4b63;border-top-color:#5f2f43}
.dasha-timeline-segment.is-current strong,.dasha-timeline-segment.is-current small{color:#fff}
.dasha-list-title{margin:0 0 13px}
.dasha-major{border:1px solid #e5dadd;border-radius:9px;margin:9px 0;background:#fff;scroll-margin-top:92px;overflow:hidden}
.dasha-major.is-current{border-color:#bc8396;box-shadow:0 0 0 1px #bc839622}
.dasha-major>summary{position:relative;display:grid;grid-template-columns:36px 135px minmax(175px,1fr) minmax(150px,195px) 62px;align-items:center;gap:12px;list-style:none;cursor:pointer;padding:14px 34px 14px 16px}
.dasha-major>summary::-webkit-details-marker,.dasha-antar>summary::-webkit-details-marker{display:none}
.dasha-major>summary::after,.dasha-antar>summary::after{content:'⌄';position:absolute;right:13px;top:50%;transform:translateY(-50%);color:#9b6678;font-size:18px}
.dasha-major[open]>summary::after,.dasha-antar[open]>summary::after{content:'⌃'}
.dasha-major>summary:hover,.dasha-antar>summary:hover{background:#fcf8f9}
.dasha-order{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#f8edf1;color:#9b5d73;font-size:11px;font-weight:700}
.dasha-major>summary strong{font-size:16px;color:#543e49}
.dasha-dates{font-size:14px;color:#353a42;font-variant-numeric:tabular-nums}
.dasha-duration,.dasha-kind{font-size:12px;color:#7c7379}
.dasha-now-tag{display:inline-block;justify-self:end;background:#8b4b63;color:#fff;border-radius:100px;padding:4px 9px;font-size:11px;white-space:nowrap}
.dasha-major-body{border-top:1px solid #eee5e8;padding:12px 15px 16px;background:#fefcfc}
.dasha-age-range{font-size:12px;line-height:1.6;color:#746f76;margin:3px 0 12px}
.dasha-antar{border:1px solid #eae3e5;border-radius:7px;margin:7px 0;background:#fff;overflow:hidden}
.dasha-antar.is-current{border-color:#c29cad}
.dasha-antar>summary{position:relative;display:grid;grid-template-columns:minmax(150px,.9fr) 75px minmax(175px,1.1fr) minmax(140px,.9fr) 62px;align-items:center;gap:10px;list-style:none;cursor:pointer;padding:11px 34px 11px 13px}
.dasha-antar>summary strong{font-size:14px;color:#4d3b46}
.dasha-inner-list{border-top:1px solid #eee5e8;padding:8px 14px 12px;background:#fdfafb}
.dasha-inner-row{display:grid;grid-template-columns:minmax(150px,.9fr) 75px minmax(175px,1.1fr) minmax(185px,1fr) 62px;align-items:center;gap:10px;border-bottom:1px solid #eee8ea;padding:9px 2px;font-size:12px;line-height:1.6}
.dasha-inner-row:last-child{border-bottom:0}
.dasha-inner-row strong{font-size:13px;color:#564b52}
.dasha-inner-row.is-current{background:#fcf1f5;border-radius:5px;padding-left:8px;padding-right:8px}
@media(max-width:920px){.dasha-major>summary{grid-template-columns:34px 125px minmax(175px,1fr) 56px}.dasha-major>summary .dasha-duration{display:none}.dasha-antar>summary{grid-template-columns:minmax(130px,.8fr) 75px minmax(170px,1fr) 58px}.dasha-antar>summary .dasha-duration{display:none}.dasha-inner-row{grid-template-columns:minmax(125px,1fr) minmax(160px,1fr) 52px}.dasha-inner-row .dasha-kind,.dasha-inner-row .dasha-age-range{display:none}}
@media(max-width:700px){#current-dasha{grid-template-columns:1fr}.dasha-current-card{padding:13px}.dasha-current-card strong{font-size:22px}.dasha-major>summary{grid-template-columns:30px minmax(0,1fr) 58px;gap:8px}.dasha-major>summary .dasha-dates{grid-column:2/4}.dasha-antar>summary{grid-template-columns:minmax(0,1fr) 58px;gap:4px}.dasha-antar>summary .dasha-kind{display:none}.dasha-antar>summary .dasha-dates{grid-column:1/3}.dasha-inner-row{display:flex;flex-wrap:wrap;gap:2px 8px}.dasha-inner-row strong{width:100%}.dasha-inner-row .dasha-dates{font-size:13px}.dasha-inner-row .dasha-now-tag{margin-left:auto}.dasha-timeline-segment{min-width:110px}}
