@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Thai:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Sarabun:wght@400;500;600;700&display=swap');
:root{font:16px/1.65 'IBM Plex Sans Thai','IBM Plex Sans',Tahoma,sans-serif;color:#3b3336;background:#fffdfc;--ink:#3b3336;--muted:#82767a;--rose:#9c5467;--rose-dark:#70394d;--blush:#f7e9e8;--blush-light:#fcf3f2;--line:#e9dcdd;--paper:#fff;--gold:#b49372}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}[hidden]{display:none!important}
.site-header{height:76px;max-width:1440px;margin:auto;padding:0 42px;display:flex;align-items:center;gap:42px;background:#fff}.brand{text-decoration:none;display:flex;align-items:center;gap:11px;font-size:20px;font-weight:700;letter-spacing:.13em;line-height:1.1;white-space:nowrap}.brand small{display:block;font-size:9px;color:#9b8589;letter-spacing:.18em;margin-top:6px}.brand-mark{width:38px;height:38px;border:1px solid #c89a9f;border-radius:50%;display:grid;place-items:center;color:var(--rose);font-size:20px}.top-nav{display:flex;gap:31px;margin-left:auto}.top-nav a{text-decoration:none;font-size:13px;color:#594d50}.top-nav a:hover{color:var(--rose)}.header-cta{border:1px solid #d3a5a9;border-radius:30px;padding:9px 18px;text-decoration:none;font-size:12px;color:var(--rose-dark);white-space:nowrap;background:#f8e9e8}
main{max-width:1440px;margin:auto}.hero{background:linear-gradient(118deg,#f5e6e5 0%,#faeeee 56%,#f6e4e3 100%);min-height:570px;padding:58px max(42px,calc((100% - 1270px)/2));display:grid;grid-template-columns:minmax(0,1.08fr) minmax(410px,.92fr);gap:8%;align-items:center}.eyebrow,.mini-kicker{font-size:10px;font-weight:700;letter-spacing:.19em;color:#aa7582;text-transform:uppercase}.hero-copy h1{font:700 clamp(42px,4vw,61px)/1.16 'IBM Plex Sans Thai','IBM Plex Sans',sans-serif;letter-spacing:-.025em;margin:18px 0 23px}.hero-copy h1 em{font-style:normal;color:var(--rose)}.hero-copy>p:not(.eyebrow){font-size:15px;color:#675b60;max-width:490px}.hero-notes{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:43px;color:#875b67;font-size:12px}.hero-form{background:#fff;padding:28px 32px 17px;border:1px solid #eadbdb;box-shadow:0 22px 50px #8e526017}.form-heading h2{font:700 28px/1.25 'IBM Plex Sans Thai','IBM Plex Sans',sans-serif;margin:5px 0 4px}.form-heading p{color:var(--muted);font-size:12px;margin:0 0 21px}.hero-form label{display:block;font-size:12px;font-weight:600;margin-bottom:13px}.hero-form label small{color:#ac9ca0;font-weight:400}.hero-form input,.hero-form select,.transit-controls input,.calendar-controls input,.calendar-controls select,.library input{display:block;width:100%;border:1px solid #decfd0;border-radius:3px;height:42px;padding:8px 10px;margin-top:4px;background:#fff;color:var(--ink);min-width:0}.hero-form input:focus,.hero-form select:focus,input:focus,select:focus{outline:2px solid #dea9b2;outline-offset:1px}.date-grid{display:grid;grid-template-columns:60px minmax(0,1fr) 95px;gap:10px}.two-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.three-grid{display:grid;grid-template-columns:1fr 1fr 65px;gap:8px}.settings{border:1px solid var(--line);padding:9px 12px;margin:0 0 13px}.settings summary{font-size:12px;font-weight:600;color:#735f64;cursor:pointer;display:flex;justify-content:space-between}.settings p{color:var(--muted);font-size:11px}.settings label.check{display:flex;align-items:center;gap:8px;font-weight:400;margin:7px 0}.check input{width:15px;height:15px;margin:0}.primary{border:0;background:#402f35;color:#fff;padding:11px 17px;display:flex;justify-content:space-between;align-items:center;width:100%;min-height:46px;font-weight:700}.primary:hover{background:#713d50}.example{display:block;background:none;border:0;color:var(--rose);text-decoration:underline;font-size:11px;margin:10px auto 0}.form-privacy{text-align:center;font-size:10px;color:#9b878d;margin:11px 0 0}.error{background:#fff0ed;color:#9c343d;padding:9px;font-size:12px}
.workspace{padding:58px 42px 70px;background:#fffdfc}.workspace-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:23px}.workspace-intro h2{font:700 36px 'IBM Plex Sans Thai','IBM Plex Sans',sans-serif;margin:4px 0 0}.workspace-intro>p{max-width:400px;font-size:12px;color:var(--muted);margin:0 0 3px}.tabs{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);background:#fff;gap:0;overflow:auto}.tab{min-width:180px;text-align:left;padding:15px 13px;border:0;border-right:1px solid var(--line);background:#fff;color:#61555a;font-size:13px;font-weight:700;white-space:nowrap}.tab:last-child{border-right:0}.tab span{display:inline-grid;place-items:center;border:1px solid #d9b8bd;color:#a37781;width:25px;height:25px;border-radius:50%;font-size:10px;margin-right:5px}.tab small{display:block;margin-left:34px;font-size:10px;color:#a79a9e;font-weight:400}.tab:hover{background:#fff8f7}.tab.active{color:var(--rose-dark);background:#f9eeed;box-shadow:inset 0 -3px 0 #b87e8c}.workspace-panel{border:1px solid var(--line);border-top:0;background:#fff;padding:29px;min-height:430px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-bottom:20px}.panel-title h2{font:700 28px 'IBM Plex Sans Thai','IBM Plex Sans',sans-serif;margin:3px 0}.panel-title p:not(.mini-kicker){font-size:12px;color:var(--muted);margin:0}.actions{display:flex;gap:7px;flex-wrap:wrap}.actions button,.outline-button,.transit-controls button:not(.primary){background:#fff;border:1px solid #dbb9be;color:var(--rose-dark);padding:9px 12px;font-size:11px}.actions button:hover,.outline-button:hover{background:#fdf1f1}.empty{min-height:450px;background:var(--blush-light);border:1px solid #f1e1e1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-orbit{width:140px;height:140px;border-radius:50%;border:1px solid #ddb5bc;display:grid;place-items:center;color:#b7808c;font-size:26px;position:relative}.empty-orbit:before,.empty-orbit:after{content:'';position:absolute;border:1px solid #e8cfd2;border-radius:50%;inset:19px}.empty-orbit:after{inset:42px}.empty-orbit span{z-index:1}.empty h3{font:700 24px 'IBM Plex Sans Thai','IBM Plex Sans',sans-serif;margin:20px 0 0}.empty p{font-size:12px;color:var(--muted)}
.chart-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 18px;background:#fcf6f5;border:1px solid var(--line);margin-bottom:13px}.chart-meta strong{font-size:16px}.chart-meta p{font-size:11px;color:var(--muted);margin:0}.method-pill,.tag{background:#f3e0e1;color:#8c5361;font-size:10px;padding:5px 10px;border-radius:20px;white-space:nowrap}.chart-showcase{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(340px,.78fr);gap:14px}.main-chart,.division-card,.detail-card{background:#fff;border:1px solid var(--line);padding:19px}.main-chart{min-width:0}.division-column{display:grid;grid-template-rows:1fr 1fr;gap:14px;min-width:0}.chart-header,.subhead{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #f0e7e7;padding-bottom:11px;margin-bottom:10px}.chart-header>div{display:flex;align-items:center;gap:9px}.chart-header h3,.subhead h3{font:700 19px 'IBM Plex Sans Thai','IBM Plex Sans',sans-serif;margin:0}.chart-header>span,.subhead>span{font-size:10px;color:#ad9da1}.chart-num{display:grid;place-items:center;background:#f5e4e5;color:#9b5869;border-radius:50%;width:27px;height:27px;font-size:10px;font-weight:700}.chart-layout{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center}.chart-layout svg{width:100%;height:auto;max-width:535px;display:block;margin:auto}.chart-key{font-size:11px;border-left:1px solid var(--line);padding:7px 0 7px 12px}.chart-key h4{margin:0 0 7px}.chart-key dl{margin:0}.chart-key dl div{display:flex;justify-content:space-between;gap:5px;border-bottom:1px solid #f1e8e9;padding:7px 0}.chart-key dd{margin:0;font-weight:700;text-align:right}.chart-key p{font-size:10px;color:var(--muted)}.division-grid{min-height:205px;display:grid;place-items:center}.division-grid svg{width:100%;max-height:220px}.empty-division{color:var(--muted);font-size:12px;background:#fcf8f7}.lower-grid,.reading-grid,.calendar-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.reading-grid{margin:0 0 14px}.subhead .mini-kicker{margin:0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px;white-space:nowrap}th{text-align:left;color:#9c6674;background:#fcf5f4;font-size:10px}td,th{padding:9px;border-bottom:1px solid #f1e8e9}td{color:#5f5558}.technical-note{font-size:10px;color:#826f73;background:#fbf3f1;border-left:2px solid #cea2aa;padding:8px 10px;margin:14px 0 0}.soft-note{background:#fcf3f2;color:#815d65;padding:10px 12px;font-size:11px;margin:5px 0 12px}.dasha-current{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.dasha-level{background:#f9eeec;padding:9px}.dasha-level small{display:block;color:#9c6e7a;font-size:9px}.dasha-level strong{font-size:13px}.dasha-level span{display:block;font-size:10px;color:#7d6a6f}.dasha-row{display:grid;grid-template-columns:70px 1fr 98px;gap:9px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line);font-size:11px}.dasha-row small{text-align:right;color:var(--muted)}.dasha-track{height:5px;border-radius:8px;background:#f3e4e6;overflow:hidden}.dasha-track span{display:block;height:100%;background:#bd8894}.section-copy{font-size:11px;color:var(--muted)}.empty-section{padding:20px;text-align:center;color:#a08c91;font-size:12px;background:#fcf8f7}.pair-row,.calendar-row,.saved-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:9px 2px;font-size:11px}.pair-row strong,.calendar-row strong{color:#77505d}.pair-row span:last-child,.calendar-row span:last-child{color:var(--muted)}.yoga-card .subhead{margin-bottom:10px}.yoga-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0 17px}.yoga-category{background:#fcf5f4;border:1px solid var(--line);padding:12px}.yoga-category strong{display:block;color:var(--rose-dark);font-size:13px}.yoga-category p{font-size:11px;color:#755e65;margin:5px 0}.yoga-result{border:1px solid var(--line);border-radius:3px;padding:12px;margin:8px 0}.yoga-result h3{font-size:14px;color:var(--rose-dark);margin:0}.yoga-result p{font-size:11px;margin:5px 0;color:#675a60}.yoga-result .evidence{font-weight:600}.yoga-result .yoga-reading{background:#fbefee;padding:6px 8px;color:#70424f}.yoga-result small{font-size:10px;color:#a09095}.library{border-top:1px solid var(--line);margin-top:18px;padding-top:13px}.library summary{color:var(--rose-dark);font-weight:700;cursor:pointer}.library label,.library p{font-size:11px}.library input{max-width:360px}.library-item{padding:8px 0;border-bottom:1px solid var(--line)}.library-item h3{font-size:12px;margin:0}.library-item p{font-size:10px;margin:3px 0;color:var(--muted)}
.transit-controls,.calendar-controls{display:flex;align-items:end;gap:10px;margin:6px 0 14px;flex-wrap:wrap}.transit-controls label,.calendar-controls label{font-size:11px;font-weight:600;min-width:140px}.transit-controls button,.calendar-controls button{height:42px}.primary.compact{width:auto;min-height:42px;font-size:11px}.transit-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px}.transit-chart-empty{display:grid;place-items:center;background:#fcf8f7;color:var(--muted);font-size:12px;min-height:420px}.transit-chart-empty svg{width:100%;max-height:500px}.saved-row{align-items:center}.saved-row strong{font-size:13px}.saved-row small{display:block;color:var(--muted)}.saved-row button{border:1px solid var(--line);background:#fff;color:var(--rose);padding:7px 10px;font-size:11px}.source-panel{display:grid;grid-template-columns:1fr 1fr;gap:50px;background:#f9ecea;padding:45px 70px}.source-panel h2{font:700 30px 'IBM Plex Sans Thai','IBM Plex Sans',sans-serif;margin:6px 0}.source-panel p:not(.eyebrow){font-size:12px;color:#716166;margin:0 0 10px}footer{max-width:1440px;margin:auto;padding:22px 42px;display:flex;justify-content:space-between;gap:15px;color:#9a898d;font-size:11px}.footer-brand{font-weight:700;letter-spacing:.15em;color:var(--rose-dark)}
@media(max-width:1120px){.hero{grid-template-columns:1fr 1fr;gap:35px}.chart-showcase{grid-template-columns:1fr}.division-column{grid-template-columns:1fr 1fr;grid-template-rows:auto}.top-nav{gap:15px}.tabs{grid-template-columns:repeat(5,minmax(180px,1fr))}}
@media(max-width:790px){.site-header{height:auto;padding:15px 20px;flex-wrap:wrap}.top-nav{order:3;width:100%;justify-content:space-between;margin:0;overflow:auto}.header-cta{margin-left:auto}.hero{grid-template-columns:1fr;padding:45px 22px;gap:35px}.hero-copy h1{font-size:43px}.hero-notes{margin-top:23px}.hero-form{max-width:560px;width:100%}.workspace{padding:42px 16px}.workspace-intro{display:block}.workspace-intro>p{margin-top:10px}.workspace-panel{padding:17px}.panel-title{align-items:start}.lower-grid,.reading-grid,.calendar-grid,.transit-layout{grid-template-columns:1fr}.source-panel{grid-template-columns:1fr;gap:5px;padding:35px 20px}}
@media(max-width:480px){.brand{font-size:17px}.brand-mark{width:33px;height:33px}.header-cta{font-size:10px;padding:7px 10px}.top-nav a{font-size:11px}.hero{padding:35px 15px}.hero-copy h1{font-size:36px}.hero-form{padding:20px 17px}.two-grid{grid-template-columns:1fr}.date-grid{grid-template-columns:50px 1fr 82px}.panel-title{display:block}.actions{margin-top:12px}.chart-layout{grid-template-columns:1fr}.chart-key{border-left:0;border-top:1px solid var(--line);padding:12px 0}.division-column{grid-template-columns:1fr}.dasha-current{grid-template-columns:1fr 1fr 1fr}.dasha-row{grid-template-columns:58px 1fr 81px}.yoga-categories{grid-template-columns:1fr}.chart-meta{align-items:start}.method-pill{font-size:9px}footer{padding:20px 16px;flex-wrap:wrap}}
@media print{.site-header,.hero,.tabs,.actions,.source-panel,footer{display:none!important}.workspace{padding:0}.workspace-panel{border:0;padding:0}.workspace-panel:not(.active){display:none!important}.main-chart,.detail-card,.division-card{break-inside:avoid}}
.special-yogas{margin:10px 0 15px}.special-yogas h4{font:700 18px 'IBM Plex Sans Thai','IBM Plex Sans',sans-serif;margin:0 0 8px;color:#754b58}.special-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.special-item{border:1px solid var(--line);background:#fff9f8;padding:9px 11px}.special-item strong{display:block;font-size:12px;color:#7e5360}.special-item small{display:block;font-size:10px;color:#9d8b90}@media(max-width:600px){.special-grid{grid-template-columns:repeat(2,1fr)}}
.tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.standalone-page{margin:0 auto;min-height:650px;padding:60px 42px 80px;background:#fffdfc}.standalone-page .panel-title{border-bottom:1px solid var(--line);margin:0 0 25px}.standalone-page .panel-title h2{font-size:38px}.page-eyebrow{color:#ab7783;font-weight:700;font-size:10px;letter-spacing:.2em;margin:0 0 30px}.standalone-page .saved-list{max-width:820px}.standalone-page .calendar-grid{margin-top:20px}@media(max-width:1120px){.tabs{grid-template-columns:repeat(3,minmax(190px,1fr))}}@media(max-width:790px){.standalone-page{padding:38px 20px 65px}}@media(max-width:600px){.tabs{grid-template-columns:repeat(3,minmax(170px,1fr));overflow:auto}.standalone-page .panel-title h2{font-size:29px}}

/* A compact chart-first reading surface with the twelve-house wheel as the focus. */
body{background:#f8f0ef}.site-header{position:sticky;top:0;z-index:10;box-shadow:0 1px 0 #eadbde}.hero{min-height:0;padding:28px 42px;grid-template-columns:minmax(280px,.7fr) minmax(410px,1.3fr);gap:28px;align-items:start}.hero-copy h1{font-size:clamp(29px,3vw,42px);margin:7px 0 9px}.hero-copy>p:not(.eyebrow){font-size:13px;margin:0}.hero-notes{margin-top:18px}.hero-form{padding:18px 22px 12px;box-shadow:0 8px 28px #8e526010}.form-heading h2{font-size:21px}.form-heading p{margin-bottom:10px}.workspace{padding-top:30px}.workspace-intro{margin-bottom:14px}.workspace-intro h2{font-size:28px}.tabs{background:#eee9e9;border-color:#dbcbd0}.tab{padding:11px 15px;border-right-color:#dfd2d5}.tab.active{background:#fff;box-shadow:inset 0 3px 0 #ad7483}.workspace-panel{padding:22px}.main-chart{border-color:#d9c5c9}.main-chart .chart-layout{grid-template-columns:minmax(0,1fr) 175px}.main-chart #chart{min-width:0}.main-chart #chart svg{max-width:620px}.chart-key{font-size:12px}.chart-key dl div{padding:5px 0}.chart-key p{line-height:1.5}.planet-legend{font-size:11px;color:#785f67;background:#fbf2f1;padding:10px;margin-top:12px;line-height:1.9}.chart-showcase{grid-template-columns:minmax(0,1.3fr) minmax(310px,.7fr)}.division-card{padding:15px}.division-grid svg{max-height:230px}#top,#workspace,#birth-form,.standalone-page{scroll-margin-top:94px}
.celebrity-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);gap:18px}.celebrity-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px}.celebrity-filters label,.celebrity-add label{display:block;color:#775a63;font-size:12px;font-weight:700}.celebrity-filters input,.celebrity-filters select,.celebrity-add input{display:block;width:100%;height:42px;border:1px solid #d9c5ca;background:#fff;padding:8px 10px;margin:5px 0 12px;color:#3b3336}.celebrity-add>p,.celebrity-add .technical-note{font-size:11px}.celebrity-add .primary:disabled{opacity:.45;cursor:not-allowed}.celebrity-card{border:1px solid var(--line);background:#fff;padding:17px 19px;margin:10px 0}.celebrity-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.celebrity-card h3{font:700 19px 'IBM Plex Sans Thai','IBM Plex Sans',sans-serif;margin:0}.celebrity-card p{font-size:11px;color:var(--muted);margin:8px 0}.celebrity-chips{display:flex;flex-wrap:wrap;gap:5px}.celebrity-chips span{padding:4px 8px;background:#f7e9e8;color:#784c59;font-size:10px}.celebrity-actions{display:flex;gap:8px;margin-top:15px;align-items:center}.celebrity-actions a,.celebrity-actions button{border:1px solid #d7bcc2;background:#fff;color:#754758;font-size:11px;padding:7px 10px;text-decoration:none}
@media(max-width:1120px){.hero{grid-template-columns:1fr 1fr}.chart-showcase{grid-template-columns:1fr}.main-chart .chart-layout{grid-template-columns:minmax(0,1fr) 180px}}@media(max-width:790px){.hero{grid-template-columns:1fr;padding:25px 20px}.hero-copy h1{font-size:34px}.workspace{padding-top:25px}.celebrity-layout{grid-template-columns:1fr}}@media(max-width:540px){.hero{padding:18px 15px}.hero-copy h1{font-size:30px}.hero-notes{margin-top:10px}.hero-form{padding:15px}.main-chart .chart-layout{grid-template-columns:1fr}.celebrity-filters{grid-template-columns:1fr}.site-header{position:relative}#top,#workspace,#birth-form,.standalone-page{scroll-margin-top:0}}

/* The reading pages use a white canvas; colour only marks controls and planet layers. */
:root{background:#fff}body,.hero,.workspace,.standalone-page,.source-panel{background:#fff}.hero{border-top:1px solid #f1e8e9;border-bottom:1px solid #e9dcdd}.hero-form{box-shadow:none}.source-panel{border-top:1px solid var(--line)}
.degree-panel{margin-bottom:14px}.degree-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,.4fr);gap:18px;align-items:start}.degree-wheel-surface{min-height:560px;overflow-x:auto;display:grid;place-items:center;color:var(--muted);background:#fff}.degree-wheel-surface svg{display:block;width:100%;min-width:560px;max-width:750px;height:auto}.degree-side{padding:8px 3px}.degree-side .section-copy{font-size:12px;line-height:1.7}.degree-side table{font-size:12px}.degree-side td,.degree-side th{padding:7px 5px}.degree-side td:last-child{font-weight:700;color:#345e95}.transit-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}#transit-chart{background:#fff;overflow-x:auto;min-width:0}#transit-chart svg{width:100%;min-width:560px;max-width:760px;height:auto;display:block;margin:auto}.wheel-legend{display:flex;gap:9px;align-items:center;color:#665b60;font-size:12px;margin:3px 0 12px}.wheel-legend span{width:10px;height:10px;border-radius:50%;display:inline-block}.natal-dot{background:#3666a0}.transit-dot{background:#d26f4f;margin-left:10px}
@media(max-width:1050px){.degree-layout,.transit-layout{grid-template-columns:1fr}.degree-wheel-surface svg,#transit-chart svg{max-width:700px}.degree-side{max-width:700px}}@media(max-width:600px){.degree-wheel-surface{min-height:420px;display:block}.degree-wheel-surface svg,#transit-chart svg{min-width:520px}.degree-side{padding:0}.wheel-legend{flex-wrap:wrap}}
.wheel-stack,.transit-wheel{min-width:0}.wheel-zoom{display:block;margin:1px 0 7px auto;border:1px solid #cdb9bd;background:#fff;color:#794f5c;padding:6px 10px;font-size:11px}.wheel-zoom:hover{background:#faf3f3}
@media(max-width:600px){.degree-wheel-surface{min-height:0}.degree-wheel-surface svg,#transit-chart svg{min-width:0;width:100%}.degree-wheel-surface.zoomed svg,#transit-chart.zoomed svg{min-width:680px}}
/* Main destinations sit beside the site index as persistent page tabs. */
.site-header{gap:24px}.primary-tabs{display:flex;align-items:center;gap:3px;margin-left:auto;padding:4px;border:1px solid var(--line);border-radius:12px;background:#faf7f7;white-space:nowrap}.primary-tabs a{padding:8px 12px;border-radius:8px;color:#695b60;font-size:12px;font-weight:700;text-decoration:none}.primary-tabs a:hover{color:var(--rose-dark);background:#f6eaea}.primary-tabs a[aria-current="page"]{background:#fff;color:var(--rose-dark);box-shadow:0 1px 5px #b6889230}.top-nav{margin-left:0;gap:20px}.top-nav a{white-space:nowrap;font-size:12px}
@media(max-width:1100px){.site-header{gap:14px;padding:0 22px}.primary-tabs a{padding:8px 9px}.top-nav{gap:12px}}
@media(max-width:790px){.site-header{height:auto;display:flex;flex-wrap:wrap;padding:13px 16px;gap:10px}.primary-tabs{order:2;margin-left:auto}.top-nav{order:3;width:100%;justify-content:flex-start;gap:20px;overflow:auto;border-top:1px solid var(--line);padding-top:8px}}
@media(max-width:560px){.brand{width:100%}.primary-tabs{order:2;width:100%;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.primary-tabs a{text-align:center;padding:9px 4px;font-size:11px}.top-nav{order:3;margin:0;justify-content:center}.top-nav a{font-size:11px}}
.footer-brand{display:inline-flex;align-items:center;gap:6px}

/* Site index belongs in a persistent rail on the right. */
.site-shell{max-width:1440px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:0;align-items:start}
.site-shell>main{min-width:0;width:100%;margin:0}
.site-header{max-width:1440px;justify-content:space-between}
.site-sidebar{position:sticky;top:92px;min-height:calc(100vh - 104px);padding:32px 14px 24px 18px;background:#fff;border-left:1px solid #eee2e4;color:#493a40}
.sidebar-kicker{font-size:9px;font-weight:700;letter-spacing:.16em;color:#ad7d8a;margin:0 0 9px}
.site-sidebar h2{font:700 21px/1.3 'IBM Plex Sans Thai','IBM Plex Sans',sans-serif;margin:0 0 22px}
.site-sidebar nav{display:grid;gap:5px}
.site-sidebar nav a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 10px;color:#5c4a50;text-decoration:none;font-size:12px;font-weight:700;border-radius:6px;border-left:3px solid transparent}
.site-sidebar nav a span{color:#b39da4;font-size:10px;font-weight:400}
.site-sidebar nav a:hover,.site-sidebar nav a[aria-current="page"]{background:#fcf4f4;color:#83495b;border-left-color:#b7798c}
.sidebar-note{border-top:1px solid #eee2e4;margin-top:28px;padding-top:14px;font-size:10px;line-height:1.6;color:#917d84}
#menu-toggle{display:none;border:1px solid #d7bdc3;background:#fff;color:#754758;padding:9px 12px;font-size:12px;font-weight:700}
.degree-side td:last-child{color:#795668;font-weight:600}
@media(max-width:900px){
  .site-shell{display:block}.site-sidebar{position:fixed;z-index:30;top:0;right:0;width:min(85vw,310px);height:100dvh;min-height:0;overflow:auto;box-shadow:-12px 0 45px #3d253333;transform:translateX(105%);transition:transform .22s ease;padding:70px 22px 30px}
  .site-sidebar.open{transform:translateX(0)}
  #menu-toggle{display:block;margin-left:auto}
  .site-header{height:70px;position:sticky;top:0;flex-wrap:nowrap}
}
@media(max-width:560px){.site-header{height:65px}.brand{width:auto}#menu-toggle{white-space:nowrap}.site-sidebar{padding-top:78px}}

/* Readable Thai type scale and touch targets across the chart flow. */
.hero-copy h1,.form-heading h2,.workspace-intro h2,.panel-title h2,.chart-header h3,.subhead h3,.standalone-page .panel-title h2,.site-sidebar h2,.celebrity-card h3{font-weight:600;letter-spacing:-.015em}
.hero-copy h1{font-size:clamp(32px,3.2vw,46px);line-height:1.25}
.workspace-intro h2,.standalone-page .panel-title h2{font-size:30px}
.panel-title h2{font-size:27px}.chart-header h3,.subhead h3{font-size:19px}
.hero-copy>p:not(.eyebrow),.form-heading p,.workspace-intro>p,.panel-title p:not(.mini-kicker),.degree-side .section-copy{font-size:14px;line-height:1.65}
.hero-form label,.celebrity-filters label,.celebrity-add label,.transit-controls label,.calendar-controls label{font-size:13px}
.hero-form input,.hero-form select,.celebrity-filters input,.celebrity-filters select,.celebrity-add input{min-height:46px;font-size:14px}
.tab{font-size:14px}.tab small{font-size:11px;line-height:1.5}
table,.degree-side table{font-size:12.5px}th{font-size:11.5px}td,th{padding:10px 9px}
.technical-note,.soft-note,.section-copy,.celebrity-card p,.celebrity-add>p,.celebrity-add .technical-note{font-size:12px;line-height:1.65}
.yoga-result h3{font-size:16px}.yoga-result p,.yoga-category p,.pair-row,.calendar-row,.saved-row{font-size:12px;line-height:1.6}
.celebrity-card h3{font-size:20px}.celebrity-chips span{font-size:11px;padding:5px 9px}.celebrity-actions a,.celebrity-actions button{font-size:12px;min-height:38px;display:inline-flex;align-items:center}
.site-sidebar nav a{font-size:14px;min-height:46px}.site-sidebar h2{font-size:23px}
#menu-close{display:none}
.degree-wheel-surface,#transit-chart{overflow-x:hidden}
.degree-wheel-surface.zoomed,#transit-chart.zoomed{overflow-x:auto}
@media(max-width:900px){#menu-close{display:grid;place-items:center;position:absolute;right:20px;top:16px;width:38px;height:38px;border:1px solid #e4cfd4;background:#fff;color:#754758;font-size:23px;line-height:1}}
@media(max-width:600px){
  .hero-copy h1{font-size:32px}.panel-title h2,.standalone-page .panel-title h2{font-size:26px}
  .workspace-panel{padding:16px}.detail-card{padding:15px}.degree-wheel-surface svg,#transit-chart svg{min-width:0;max-width:100%;width:100%}
  .degree-side{margin-top:10px}.tabs{grid-template-columns:repeat(3,minmax(150px,1fr))}
}

/* The two visible pieces are clipped from Fern's original Canva PNG. */
.brand-canva{gap:12px;min-width:0;flex:none}
.brand-name{display:flex;flex-direction:column;align-items:center;gap:2px;flex:none}
.brand-subtitle{display:block;color:#6f4e5d;font-size:12px;font-weight:600;letter-spacing:.035em;line-height:1.3;white-space:nowrap}
.brand-eye,.brand-wordmark{display:block;position:relative;overflow:hidden;flex:none;background:#fff}
.brand-eye img,.brand-wordmark img{mix-blend-mode:multiply}
.brand-eye{width:74px;height:45px}
.brand-eye img{position:absolute;width:100px;height:100px;max-width:none;left:-12px;top:-22px}
.brand-wordmark{width:145px;height:18px}
.brand-wordmark img{position:absolute;width:240px;height:240px;max-width:none;left:-47px;top:-177px}
.empty-eye{width:78px;height:47px;z-index:1;background:transparent}
.empty-orbit{background:#fff}
.empty-eye img{width:106px;height:106px;left:-13px;top:-23px}
.footer-brand{gap:7px}
.footer-brand .brand-eye{width:50px;height:31px}
.footer-brand .brand-eye img{width:68px;height:68px;left:-8px;top:-15px}
.footer-brand .brand-wordmark{width:99px;height:14px}
.footer-brand .brand-wordmark img{width:164px;height:164px;left:-32px;top:-121px}
.footer-brand .brand-subtitle{font-size:9px;letter-spacing:.02em}
@media(max-width:560px){
  .brand-canva{gap:8px}
  .brand-canva .brand-eye{width:65px;height:41px}
  .brand-canva .brand-eye img{width:88px;height:88px;left:-11px;top:-19px}
  .brand-canva .brand-wordmark{width:128px;height:16px}
  .brand-canva .brand-wordmark img{width:210px;height:210px;left:-41px;top:-155px}
  .brand-canva .brand-subtitle{font-size:11px}
}

/* Spacious reading layout. The three charts share one visual language. */
:root{--ink:#352e32;--muted:#70656a;--line:#e8dfdd;--rose:#936172;--rose-dark:#613d4c}
body{color:var(--ink);line-height:1.7}
.eyebrow,.mini-kicker,.page-eyebrow{font-size:11px;letter-spacing:.11em}
.hero{padding:38px 42px;gap:38px}
.hero-copy h1{line-height:1.3;letter-spacing:-.015em}
.hero-copy>p:not(.eyebrow),.form-heading p,.workspace-intro>p,.panel-title p:not(.mini-kicker){font-size:15px;line-height:1.75}
.hero-form{padding:25px 28px 21px;border-radius:12px}
.hero-form label,.celebrity-filters label,.celebrity-add label{font-size:14px;line-height:1.5}
.hero-form input,.hero-form select{font-size:15px;min-height:47px}
.birth-place-row{margin-bottom:2px}
.birth-place-row:has(#foreign-city-field[hidden]){grid-template-columns:1fr}
.foreign-place-hint{margin:0 0 14px;border-left:3px solid #ad8790;background:#fbf7f6;padding:10px 12px;color:#6d565e;font-size:13px;line-height:1.6}
.settings{border-radius:9px;padding:12px 15px}.settings summary{font-size:14px}.settings p{font-size:12px;line-height:1.65}
.workspace{padding-top:48px}.workspace-intro{margin-bottom:25px}
.tabs{border-radius:12px 12px 0 0;overflow:hidden}.tab{padding:17px 18px;font-size:15px;white-space:normal;line-height:1.45}.tab small{font-size:12px;margin-top:3px}
.workspace-panel{padding:32px;border-radius:0 0 12px 12px}
.panel-title{padding-bottom:26px}.panel-title h2{font-size:30px;line-height:1.35}
.main-chart,.division-card,.detail-card{border-radius:12px;padding:24px;border-color:var(--line)}
.chart-header,.subhead{padding-bottom:14px;margin-bottom:17px}.chart-header h3,.subhead h3{font-size:20px;line-height:1.45}.chart-header>span,.subhead>span{font-size:12px}
.chart-showcase{display:block}.main-chart .chart-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,245px);gap:30px;align-items:center}
.main-chart #chart svg{width:100%;max-width:680px;max-height:none;margin:auto}
.chart-key{font-size:14px;line-height:1.6;padding-left:20px}.chart-key h4{font-size:16px}.chart-key p,.planet-legend{font-size:12px;line-height:1.7}
.division-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:16px;margin-top:16px}
.division-grid{min-height:0}.division-grid svg{display:block;width:100%;max-width:470px;max-height:none;margin:auto}
.degree-layout{grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr);gap:26px}
.degree-wheel-surface{min-height:0}.degree-wheel-surface svg{max-width:820px}
.degree-side .section-copy{font-size:14px;line-height:1.7}.degree-side table{font-size:13px}.degree-side td,.degree-side th{padding:9px 7px}
.wheel-zoom{font-size:13px;padding:9px 13px;border-radius:7px}
.technical-note,.soft-note,.section-copy,.celebrity-card p{font-size:13px;line-height:1.7}
.pair-row,.calendar-row,.saved-row{font-size:13px;line-height:1.6;padding:12px 2px}
.site-sidebar nav a{font-size:14px}
@media(max-width:1100px){.main-chart .chart-layout{grid-template-columns:minmax(0,1fr) 210px}.degree-layout{grid-template-columns:1fr}}
@media(max-width:790px){.hero{padding:30px 20px}.workspace{padding:34px 18px}.workspace-panel{padding:23px}.main-chart .chart-layout{grid-template-columns:1fr}.chart-key{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.division-column{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
  .hero{padding:20px 16px}.hero-form{padding:20px}.workspace{padding:26px 14px}.workspace-panel{padding:16px}
  .main-chart,.division-card,.detail-card{padding:16px}.division-column{grid-template-columns:1fr}
  .tabs{overflow-x:auto}.tab{min-width:175px;padding:14px 12px;font-size:13px}.tab small{font-size:11px}
  .panel-title h2{font-size:25px}.chart-header h3,.subhead h3{font-size:18px}
  .degree-wheel-surface svg,#transit-chart svg{width:100%;min-width:0;max-width:100%}
  .degree-wheel-surface.zoomed svg,#transit-chart.zoomed svg{min-width:750px;max-width:none}
  .hero-form input,.hero-form select{font-size:16px}
}

/* Give the exact-degree wheel its own reading space and keep the table below it. */
.degree-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.degree-wheel-surface{width:100%;overflow:hidden}
.degree-wheel-surface svg{width:100%;max-width:900px;min-width:0;margin:0 auto}
.degree-side{display:grid;grid-template-columns:minmax(0,.43fr) minmax(0,.57fr);gap:18px;align-items:start;padding:0}
.degree-side .section-copy{margin:0;font-size:15px}
.degree-side .technical-note{grid-column:1/-1;margin:0}
.degree-side table{font-size:14px}
.degree-side th,.degree-side td{padding:12px 10px}
@media(max-width:790px){.degree-side{grid-template-columns:1fr}.degree-side .technical-note{grid-column:auto}}

/* The reference reading order: natal wheel beside the smaller divisional wheels. */
.chart-showcase{display:grid;grid-template-columns:minmax(0,1.27fr) minmax(0,.73fr);gap:18px;align-items:start}
.main-chart .chart-layout{display:block}
.main-chart #chart svg{width:100%;max-width:650px}
.chart-key{display:block;border-left:0;border-top:1px solid var(--line);padding:16px 0 0;margin-top:10px}
.chart-key dl{display:flex;flex-wrap:wrap;gap:8px 18px}
.chart-key dl div{min-width:150px;gap:8px}
.division-column{display:flex;flex-direction:column;gap:18px;margin:0}
.division-column .division-card:last-child{order:-1}
.division-grid svg{max-width:440px}
@media(max-width:1050px){.chart-showcase{grid-template-columns:1fr 1fr}.main-chart #chart svg{max-width:620px}}
@media(max-width:790px){.chart-showcase{grid-template-columns:1fr}.division-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.division-column{grid-template-columns:1fr}}

/* Degree reading: one spacious wheel, a separate D9 child wheel, and a clear comparison. */
.degree-wheel-surface svg{max-width:1060px}
.degree-side{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);gap:22px}
.navamsa-child{grid-column:1;grid-row:1/3;padding:18px;border:1px solid #e6d9d9;border-radius:12px;background:#fff}
.navamsa-child-heading{display:flex;align-items:center;gap:10px;border-bottom:1px solid #eee4e3;padding-bottom:11px}
.navamsa-child-heading .mini-kicker{margin:0;font-size:10px}
.navamsa-child h4{font-size:19px;line-height:1.4;margin:2px 0 0;color:#4b3b43}
.navamsa-child-wheel svg{display:block;width:100%;max-width:410px;height:auto;margin:10px auto 0}
.navamsa-child p:last-child{font-size:12px;line-height:1.65;color:#786b70;margin:6px 0 0}
.degree-side .section-copy{grid-column:2;margin:0}
.degree-side .table-wrap{grid-column:2}
.degree-side .technical-note{grid-column:1/-1}
.transit-layout{grid-template-columns:minmax(0,1fr)}
.transit-wheel{border:1px solid #e6d9d9;border-radius:12px;background:#fff;padding:12px}
#transit-chart{min-width:0;overflow:hidden;background:#fff}
#transit-chart svg{width:100%;max-width:1080px;min-width:0;max-height:none;height:auto;margin:0 auto}
.transit-layout>.detail-card{margin-top:0}
.wheel-legend{font-size:14px;line-height:1.6;flex-wrap:wrap}
.natal-dot{background:#285c85}.transit-dot{background:#bd684a}
@media(max-width:790px){.degree-side{grid-template-columns:1fr}.navamsa-child,.degree-side .section-copy,.degree-side .table-wrap,.degree-side .technical-note{grid-column:1;grid-row:auto}}
@media(max-width:600px){.degree-wheel-surface svg,#transit-chart svg{width:100%;max-width:none}.degree-wheel-surface.zoomed svg,#transit-chart.zoomed svg{min-width:950px}.navamsa-child{padding:12px}}

.planet-number-key{margin:8px 10px 2px;color:#665a5e;font-size:12px;line-height:1.9;max-width:980px}
.wheel-scale-key{margin:10px 10px 0;color:#785b66;font-size:12px;line-height:1.7;max-width:980px}
.degree-side .table-wrap{overflow-x:auto}
.degree-side table{min-width:650px}
