/**
 * astro-theme.css (theme 1.18.0) — the Astro section's colour themes,
 * cinematic motion and the modern zodiac wheel.
 *
 *  - Light "ivory + gold + lavender" is the default; dark (the original
 *    navy + gold) is chosen with the ☾ button and remembered per browser
 *    (html[data-llx-theme="dark"], set before paint by an inline script).
 *  - Every other Astro stylesheet reads the --ax-* tokens below
 *    (converted from hard-coded colours by tokenize_astro.py).
 *  - Motion respects prefers-reduced-motion.
 * Loaded last, on Astro pages only.
 */

/* ======================================================================
 * 1. Tokens
 * ====================================================================*/
:root {
	--ax-bg: #fbf8f2; --ax-bg-rgb: 251, 248, 242; --ax-bg-alt: #f4eee2;
	--ax-surface: #ffffff; --ax-surface-rgb: 255, 255, 255; --ax-surface-2: #f7f3fc; --ax-surface-3: #efe8f8;
	--ax-border: #e6dccb; --ax-border-strong: #d4c39f;
	--ax-text: #221c3b; --ax-muted: #686380; --ax-dim: #9b96ad;
	--ax-gold: #e3b03a; --ax-gold-2: #c9961c; --ax-gold-hi: #f4d06a; --ax-gold-rgb: 214, 160, 34;
	--ax-gold-ink: #8f6208; --ax-on-gold: #211a33; --ax-gold-deep: #fbedc4;
	--ax-lav: #8a76e8; --ax-lav-2: #b9a9f5; --ax-lav-rgb: 138, 118, 232; --ax-rose-rgb: 244, 170, 160;
	--ax-veil: 72, 54, 140; --ax-shadow-rgb: 74, 56, 140; --ax-shadow-k: .4;
	--ax-footer: #1e1838;
	--ax-good-ink: #1d7a4a; --ax-bad-ink: #b04430; --ax-mixed-ink: #8a6a10; --ax-blue-ink: #2f62b6; --ax-pink-ink: #ad2f6c;
	--ax-blue-rgb: 63, 120, 210; --ax-pink-rgb: 200, 70, 140;
	--ax-moon-dark: #d9d1ec;
	--ax-hero: radial-gradient(900px 520px at 85% -10%, rgba(185, 169, 245, .55), transparent 60%),
		radial-gradient(700px 500px at -5% 20%, rgba(244, 208, 106, .35), transparent 60%),
		radial-gradient(800px 600px at 60% 120%, rgba(244, 170, 160, .28), transparent 60%),
		linear-gradient(180deg, #fdfaf4 0%, #f6f0fb 100%);
	--ax-glass: rgba(255, 255, 255, .72);
	--ax-star: 160, 128, 40;
	--ax-wheel-line: rgba(143, 98, 8, .35);
	color-scheme: light;
}
html[data-llx-theme="dark"] {
	--ax-bg: #0b1424; --ax-bg-rgb: 11, 20, 36; --ax-bg-alt: #0e1c33;
	--ax-surface: #172337; --ax-surface-rgb: 23, 35, 55; --ax-surface-2: #0f1a2b; --ax-surface-3: #243d5e;
	--ax-border: #29476b; --ax-border-strong: #3a5d85;
	--ax-text: #f3f6fb; --ax-muted: #aab6c8; --ax-dim: #5d6878;
	--ax-gold: #ffd21c; --ax-gold-2: #e6c200; --ax-gold-hi: #ffe27a; --ax-gold-rgb: 255, 210, 28;
	--ax-gold-ink: #ffd21c; --ax-on-gold: #16213a; --ax-gold-deep: #4a3b05;
	--ax-lav: #a99cff; --ax-lav-2: #6f5fd0; --ax-lav-rgb: 169, 156, 255; --ax-rose-rgb: 255, 140, 160;
	--ax-veil: 255, 255, 255; --ax-shadow-rgb: 0, 0, 0; --ax-shadow-k: 1;
	--ax-footer: #070d19;
	--ax-good-ink: #8fe0b4; --ax-bad-ink: #f2ae9b; --ax-mixed-ink: #f0d68a; --ax-blue-ink: #7fb8ff; --ax-pink-ink: #ff9ecb;
	--ax-blue-rgb: 111, 184, 255; --ax-pink-rgb: 255, 158, 203;
	--ax-moon-dark: #2a3953;
	--ax-hero: radial-gradient(900px 520px at 85% -10%, rgba(111, 95, 208, .35), transparent 60%),
		radial-gradient(700px 500px at -5% 20%, rgba(255, 210, 28, .10), transparent 60%),
		linear-gradient(180deg, #0a1322 0%, #0d1a30 100%);
	--ax-glass: rgba(23, 35, 55, .78);
	--ax-star: 255, 255, 255;
	--ax-wheel-line: rgba(255, 210, 28, .35);
	color-scheme: dark;
}

/* The engine's own variables (engine.css / engine-override.css). */
:root {
	--bg: var(--ax-bg); --card: var(--ax-surface); --ink: var(--ax-text); --ink-soft: var(--ax-muted);
	--maroon: var(--ax-gold-ink); --maroon-deep: var(--ax-on-gold); --gold: var(--ax-gold-2); --gold-light: var(--ax-gold);
	--teal: #6f5bd6; --teal-deep: #4b3bb0; --line: var(--ax-border); --line-strong: var(--ax-border-strong);
	--shadow: rgba(var(--ax-shadow-rgb), calc(.35 * var(--ax-shadow-k)));
}
html[data-llx-theme="dark"] { --teal: #2f6fb3; --teal-deep: #7fd1ff; --gold: #ffd21c; }

body.ll-body--astro { --ll-gold: var(--ax-gold); --ll-bg: var(--ax-bg); --ll-bg-alt: var(--ax-bg-alt); --ll-card: var(--ax-surface); --ll-text: var(--ax-text); --ll-muted: var(--ax-muted); --ll-border: var(--ax-border); background: var(--ax-bg); color: var(--ax-text); transition: background-color .4s ease, color .4s ease; }
body.ll-body--astro .llx-tool, body.ll-body--astro .llx-hub { --llx-gold: var(--ax-gold); --llx-ink: var(--ax-text); --llx-muted: var(--ax-muted); --llx-card: var(--ax-surface); --llx-card-2: var(--ax-surface-2); --llx-line: rgba(var(--ax-veil), .08); --llx-border: var(--ax-border); }
body.ll-body--astro .llx-panel, body.ll-body--astro .llx-prashna, body.ll-body--astro .llx-vibe { --llx-card: var(--ax-surface); --llx-border: var(--ax-border); --llx-gold: var(--ax-gold); --llx-ink: var(--ax-text); --llx-muted: var(--ax-muted); }

/* ======================================================================
 * 2. Light-theme polish (things that read best on ivory)
 * ====================================================================*/
/* no backdrop-filter on the header: it would trap the fixed mobile menu drawer */
body.ll-body--astro .ll-header { background: rgba(var(--ax-bg-rgb), .96); border-bottom-color: rgba(var(--ax-veil), .1); }
body.ll-body--astro .ll-header__logo-mark { color: var(--ax-gold-2); }
body.ll-body--astro .ll-btn--gold { background: linear-gradient(135deg, var(--ax-gold-hi), var(--ax-gold) 55%, var(--ax-gold-2)); color: var(--ax-on-gold); border: 0; box-shadow: 0 6px 18px rgba(var(--ax-gold-rgb), .35); }
body.ll-body--astro .ll-btn--gold:hover { filter: brightness(1.04); transform: translateY(-1px); }
body.ll-body--astro .ll-btn--gold-outline { color: var(--ax-gold-ink); border-color: var(--ax-gold-2); }
body.ll-body--astro .badge { color: #fff; }
body.ll-body--astro .badge.lagna-badge { color: var(--ax-on-gold); background: var(--ax-gold); }
body.ll-body--astro .house-badge { color: var(--ax-gold-ink); }
body.ll-body--astro .llx-box, body.ll-body--astro .llx-card, body.ll-body--astro .info-card, body.ll-body--astro .chart-wrap, body.ll-body--astro .table-wrap, body.ll-body--astro .llx-cardlink, body.ll-body--astro .llx-energy, body.ll-body--astro .llx-ground, body.ll-body--astro .llx-moonme {
	box-shadow: 0 1px 2px rgba(var(--ax-shadow-rgb), calc(.08 * var(--ax-shadow-k) / .4)), 0 10px 30px -12px rgba(var(--ax-shadow-rgb), calc(.35 * var(--ax-shadow-k)));
}
html:not([data-llx-theme="dark"]) body.ll-body--astro select, html:not([data-llx-theme="dark"]) body.ll-body--astro input[type="text"], html:not([data-llx-theme="dark"]) body.ll-body--astro input[type="number"], html:not([data-llx-theme="dark"]) body.ll-body--astro input[type="search"] { color-scheme: light; }
html:not([data-llx-theme="dark"]) body.ll-body--astro .ll-astro-hero__title,
html:not([data-llx-theme="dark"]) body.ll-body--astro .llx-band__title,
html:not([data-llx-theme="dark"]) body.ll-body--astro .llx-hub__head h2 {
	background: linear-gradient(100deg, #2a1f55 0%, #5b3fb8 45%, #a86f05 100%); -webkit-background-clip: text; background-clip: text; color: transparent;
}
html[data-llx-theme="dark"] body.ll-body--astro .ll-astro-hero__title { background: linear-gradient(100deg, #ffffff 0%, #ffe9a3 55%, #c9b8ff 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
body.ll-body--astro .ll-footer { background: var(--ax-footer); }

/* Theme toggle — floating pill, bottom-left */
.ax-theme { position: fixed; left: 16px; bottom: 18px; z-index: 9990; display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 16px 0 14px; border-radius: 999px; border: 1px solid rgba(var(--ax-veil), .16); background: var(--ax-glass); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); color: var(--ax-text); cursor: pointer; font: inherit; font-size: 14px; font-weight: 600; box-shadow: 0 10px 30px -10px rgba(var(--ax-shadow-rgb), calc(.6 * var(--ax-shadow-k))); transition: transform .3s cubic-bezier(.3, 1.6, .5, 1); }
.ax-theme > span[aria-hidden] { font-size: 18px; line-height: 1; }
.ax-theme:hover { transform: translateY(-2px) scale(1.04); }
.ax-theme:focus-visible { outline: 2px solid var(--ax-gold-2); outline-offset: 2px; }
.ax-theme__sun, html[data-llx-theme="dark"] .ax-theme__moon { display: none; }
html[data-llx-theme="dark"] .ax-theme__sun { display: inline; }
@media (max-width: 520px) { .ax-theme { height: 42px; padding: 0 12px; } .ax-theme__txt { display: none !important; } }
html.ax-theme-anim body, html.ax-theme-anim body * { transition: background-color .45s ease, color .45s ease, border-color .45s ease, fill .45s ease !important; }

/* ======================================================================
 * 3. Cinematic sky (hub hero + tool band)
 * ====================================================================*/
.ll-astro-hero, .llx-band { position: relative; isolation: isolate; overflow: hidden; background: var(--ax-hero) !important; }
.ax-sky { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.ax-sky canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.ax-wheel { position: absolute; width: min(760px, 120vw); aspect-ratio: 1; right: -12%; top: 50%; transform: translateY(-50%); opacity: .55; }
.llx-band .ax-wheel { width: 520px; right: -140px; top: 50%; opacity: .4; }
.ax-wheel__rot { transform-origin: 50% 50%; animation: ax-spin 160s linear infinite; }
.ax-wheel__rot--rev { animation-duration: 240s; animation-direction: reverse; }
.ax-wheel text { font-family: "Segoe UI Symbol", "Noto Sans Symbols", "DejaVu Sans", serif; fill: var(--ax-gold-2); }
.ax-wheel .ax-w-ring { fill: none; stroke: var(--ax-wheel-line); }
.ax-wheel .ax-w-tick { stroke: var(--ax-wheel-line); }
.ax-orbit { fill: none; stroke: rgba(var(--ax-lav-rgb), .35); stroke-dasharray: 2 6; }
.ax-planet { transform-origin: 380px 380px; animation: ax-spin linear infinite; }
.ax-planet circle { filter: drop-shadow(0 0 6px currentColor); }
.ax-sun { fill: url(#ax-sun-g); }
.ax-parallax { will-change: transform; transition: transform .25s ease-out; }
@keyframes ax-spin { to { transform: rotate(360deg); } }
@media (max-width: 760px) {
	.ax-wheel { width: 125vw; right: -66vw; top: 34%; opacity: .2; }
	.llx-band .ax-wheel { width: 380px; right: -180px; opacity: .3; }
}

/* Glass birth-form card on the hub */
body.ll-body--astro .ll-astro-hero__card {
	background: var(--ax-glass); backdrop-filter: blur(18px) saturate(1.3); -webkit-backdrop-filter: blur(18px) saturate(1.3);
	border: 1px solid rgba(var(--ax-veil), .14);
	box-shadow: 0 30px 60px -20px rgba(var(--ax-shadow-rgb), calc(.5 * var(--ax-shadow-k))), inset 0 1px 0 rgba(255, 255, 255, .5);
}
.ll-astro-badge { background: rgba(var(--ax-surface-rgb), .55) !important; backdrop-filter: blur(8px); }
.llx-hero__trust li { background: rgba(var(--ax-surface-rgb), .6) !important; backdrop-filter: blur(8px); }

/* ======================================================================
 * 4. Reveal on scroll, 3D tilt, chart draw-in
 * ====================================================================*/
.ax-reveal { opacity: 0; transform: translateY(26px) scale(.985); transition: opacity .8s cubic-bezier(.2, .7, .2, 1), transform .8s cubic-bezier(.2, .7, .2, 1); transition-delay: var(--ax-d, 0ms); }
.ax-reveal.is-in { opacity: 1; transform: none; }
.ax-tilt { transform-style: preserve-3d; transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease; will-change: transform; }
.ax-tilt::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: radial-gradient(260px circle at var(--ax-mx, 50%) var(--ax-my, 50%), rgba(255, 255, 255, .35), transparent 60%); opacity: 0; transition: opacity .3s ease; }
html[data-llx-theme="dark"] .ax-tilt::after { background: radial-gradient(260px circle at var(--ax-mx, 50%) var(--ax-my, 50%), rgba(255, 210, 28, .12), transparent 60%); }
.ax-tilt:hover::after { opacity: 1; }
.llx-cardlink, .llx-expcta { position: relative; }
.llx-cardlink:hover { border-color: rgba(var(--ax-gold-rgb), .6) !important; }
.llx-cardlink__ico { transition: transform .5s cubic-bezier(.3, 1.6, .5, 1); }
.llx-cardlink:hover .llx-cardlink__ico { transform: translateZ(30px) rotate(-8deg) scale(1.12); }

/* Rasi (square) chart */
body.ll-body--astro .chart-wrap .chart-grid .cell { animation: ax-cell .6s cubic-bezier(.2, .7, .2, 1) both; transition: background .3s ease, transform .3s ease; }
body.ll-body--astro .chart-wrap .chart-grid .cell:hover { transform: translateY(-2px); background: rgba(var(--ax-lav-rgb), .12); }
body.ll-body--astro .chart-wrap .chart-grid .cell:nth-child(1) { animation-delay: .00s; } body.ll-body--astro .chart-wrap .chart-grid .cell:nth-child(2) { animation-delay: .04s; }
body.ll-body--astro .chart-wrap .chart-grid .cell:nth-child(3) { animation-delay: .08s; } body.ll-body--astro .chart-wrap .chart-grid .cell:nth-child(4) { animation-delay: .12s; }
body.ll-body--astro .chart-wrap .chart-grid .cell:nth-child(5) { animation-delay: .16s; } body.ll-body--astro .chart-wrap .chart-grid .cell:nth-child(6) { animation-delay: .20s; }
body.ll-body--astro .chart-wrap .chart-grid .cell:nth-child(7) { animation-delay: .24s; } body.ll-body--astro .chart-wrap .chart-grid .cell:nth-child(8) { animation-delay: .28s; }
body.ll-body--astro .chart-wrap .chart-grid .cell:nth-child(9) { animation-delay: .32s; } body.ll-body--astro .chart-wrap .chart-grid .cell:nth-child(10) { animation-delay: .36s; }
body.ll-body--astro .chart-wrap .chart-grid .cell:nth-child(11) { animation-delay: .40s; } body.ll-body--astro .chart-wrap .chart-grid .cell:nth-child(12) { animation-delay: .44s; }
body.ll-body--astro .chart-wrap .chart-grid .cell.center { animation: ax-glow 1s ease .45s both; }
body.ll-body--astro .chart-wrap .chart-grid .cell.lagna { background: linear-gradient(135deg, rgba(var(--ax-gold-rgb), .22), rgba(var(--ax-gold-rgb), .05)); }
body.ll-body--astro .chart-wrap .planet-badges .badge { animation: ax-pop .6s cubic-bezier(.3, 1.7, .5, 1) .55s both; display: inline-block; }
@keyframes ax-cell { from { opacity: 0; transform: scale(.85); } }
@keyframes ax-glow { from { opacity: 0; filter: blur(6px); } }
@keyframes ax-pop { from { opacity: 0; transform: scale(.2) translateY(6px); } }

/* Rings, bars, radar, gauges */
.llx-ring__fg { animation: ax-draw 1.4s cubic-bezier(.2, .7, .2, 1) both; }
@keyframes ax-draw { from { stroke-dasharray: 0 999; } }
.llx-bar__fill, .llx-week__bar i { transform-origin: left center; animation: ax-grow 1.1s cubic-bezier(.2, .7, .2, 1) both; }
.llx-week li:nth-child(2) .llx-week__bar i { animation-delay: .06s; } .llx-week li:nth-child(3) .llx-week__bar i { animation-delay: .12s; }
.llx-week li:nth-child(4) .llx-week__bar i { animation-delay: .18s; } .llx-week li:nth-child(5) .llx-week__bar i { animation-delay: .24s; }
.llx-week li:nth-child(6) .llx-week__bar i { animation-delay: .30s; } .llx-week li:nth-child(7) .llx-week__bar i { animation-delay: .36s; }
@keyframes ax-grow { from { transform: scaleX(0); } }
.llx-radar__shape { transform-origin: center; transform-box: fill-box; animation: ax-radar 1.2s cubic-bezier(.3, 1.3, .5, 1) both; }
.llx-radar__dot { animation: ax-pop .6s ease .8s both; transform-box: fill-box; transform-origin: center; }
@keyframes ax-radar { from { transform: scale(0); opacity: 0; } }
.llx-meter span.is-on { animation: ax-grow .6s ease both; }
.llx-meter span:nth-child(2) { animation-delay: .15s; } .llx-meter span:nth-child(3) { animation-delay: .3s; }
.llx-moonme__disc { animation: ax-moon 1.6s ease both; }
@keyframes ax-moon { from { transform: rotate(-30deg) scale(.6); opacity: 0; } }

/* ======================================================================
 * 5. Modern zodiac wheel (birth chart page)
 * ====================================================================*/
.ax-chartswitch { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: rgba(var(--ax-veil), .07); margin: 0 auto 14px; }
.ax-chartswitch button { appearance: none; border: 0; background: transparent; color: var(--ax-muted); font: inherit; font-size: 14px; font-weight: 600; padding: 8px 16px; border-radius: 999px; cursor: pointer; min-height: 38px; }
.ax-chartswitch button[aria-pressed="true"] { background: var(--ax-surface); color: var(--ax-text); box-shadow: 0 2px 10px rgba(var(--ax-shadow-rgb), calc(.25 * var(--ax-shadow-k))); }
.ax-chartswitch-wrap { text-align: center; }
.ax-natal { max-width: 560px; margin: 0 auto; position: relative; }
.ax-natal svg { width: 100%; height: auto; display: block; overflow: visible; }
.ax-natal .ax-n-bg { fill: var(--ax-surface); }
.ax-natal .ax-n-ring { fill: none; stroke: var(--ax-border-strong); stroke-width: 1; }
.ax-natal .ax-n-sign { stroke: var(--ax-surface); stroke-width: 2; }
.ax-natal .ax-n-el-0 { fill: rgba(214, 160, 34, .16); } /* earth */
.ax-natal .ax-n-el-1 { fill: rgba(63, 120, 210, .14); } /* water */
.ax-natal .ax-n-el-2 { fill: rgba(224, 104, 95, .16); } /* fire */
.ax-natal .ax-n-el-3 { fill: rgba(138, 118, 232, .16); } /* air */
.ax-natal .ax-n-glyph { font-family: "Segoe UI Symbol", "Noto Sans Symbols", "DejaVu Sans", serif; font-size: 22px; fill: var(--ax-text); text-anchor: middle; dominant-baseline: central; }
.ax-natal .ax-n-sname { font-size: 9.5px; fill: var(--ax-muted); text-anchor: middle; dominant-baseline: central; letter-spacing: .02em; }
.ax-natal .ax-n-house { font-size: 11px; font-weight: 700; fill: var(--ax-gold-ink); text-anchor: middle; dominant-baseline: central; }
.ax-natal .ax-n-cusp { stroke: rgba(var(--ax-veil), .14); stroke-width: 1; }
.ax-natal .ax-n-asc { stroke: var(--ax-gold-2); stroke-width: 2.5; }
.ax-natal .ax-n-asc-label { font-size: 11px; font-weight: 700; fill: var(--ax-gold-ink); }
.ax-natal .ax-n-p circle { fill: var(--ax-surface); stroke-width: 2; }
.ax-natal .ax-n-p text { font-size: 11.5px; font-weight: 700; text-anchor: middle; dominant-baseline: central; fill: var(--ax-text); }
.ax-natal .ax-n-p line { stroke-width: 1.5; opacity: .6; }
.ax-natal .ax-n-p { cursor: default; }
.ax-natal .ax-n-p:hover circle, .ax-natal .ax-n-p:focus circle { stroke-width: 3; }
.ax-natal .ax-n-aspect { fill: none; stroke-width: 1.2; opacity: 0; animation: ax-fade .8s ease 1.5s forwards; }
.ax-natal .ax-n-aspect.t { stroke: rgba(63, 160, 110, .55); }
.ax-natal .ax-n-aspect.o { stroke: rgba(224, 104, 95, .5); stroke-dasharray: 4 3; }
.ax-natal .ax-n-centre { fill: url(#ax-n-cg); }
.ax-natal .ax-n-ctitle { font-size: 11px; fill: var(--ax-muted); text-anchor: middle; letter-spacing: .08em; text-transform: uppercase; }
.ax-natal .ax-n-cname { font-size: 19px; font-weight: 700; fill: var(--ax-text); text-anchor: middle; }
.ax-natal .ax-n-cmoon { font-size: 11.5px; fill: var(--ax-muted); text-anchor: middle; }
.ax-natal svg.is-small .ax-n-sname { display: none; }
.ax-natal svg.is-small .ax-n-glyph { font-size: 30px; }
.ax-natal svg.is-small .ax-n-house { font-size: 17px; }
.ax-natal svg.is-small .ax-n-p text { font-size: 17px; }
.ax-natal svg.is-small .ax-n-ctitle { font-size: 15px; }
.ax-natal svg.is-small .ax-n-cname { font-size: 26px; }
.ax-natal svg.is-small .ax-n-cmoon { font-size: 16px; }
.ax-natal svg.is-small .ax-n-asc-label { font-size: 16px; }
.ax-natal-tip { position: absolute; pointer-events: none; background: var(--ax-text); color: var(--ax-bg); font-size: 12.5px; line-height: 1.4; padding: 6px 10px; border-radius: 8px; white-space: nowrap; transform: translate(-50%, -120%); opacity: 0; transition: opacity .15s ease; z-index: 3; }
.ax-natal-tip.is-on { opacity: 1; }
.ax-natal-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 14px; margin: 10px 0 0; font-size: 12.5px; color: var(--ax-muted); }
.ax-natal-legend span { display: inline-flex; align-items: center; gap: 6px; }
.ax-natal-legend i { width: 14px; height: 0; border-top: 2px solid; display: inline-block; }
@keyframes ax-fade { to { opacity: 1; } }
.ll-chart-wrap--feature[data-ax-view="wheel"] .chart-grid, .ll-chart-wrap--feature[data-ax-view="wheel"] > .chart-title { display: none; }
.ll-chart-wrap--feature[data-ax-view="square"] .ax-natal, .ll-chart-wrap--feature[data-ax-view="square"] .ax-natal-legend { display: none; }

/* ======================================================================
 * 6. Reduced motion
 * ====================================================================*/
@media (prefers-reduced-motion: reduce) {
	.ax-wheel__rot, .ax-planet { animation: none !important; }
	.ax-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
	.chart-grid .cell, .planet-badges .badge, .llx-ring__fg, .llx-bar__fill, .llx-week__bar i, .llx-radar__shape, .llx-radar__dot, .llx-moonme__disc, .ax-natal .ax-n-aspect { animation: none !important; opacity: 1; }
	.ax-tilt { transform: none !important; }
}
@media print {
	.ax-sky, .ax-theme, .ax-chartswitch { display: none !important; }
}

/* Light-theme fixes for moon glyphs drawn for the dark theme */
html:not([data-llx-theme="dark"]) .llx-poya__moon { color: var(--ax-gold-2); }
html:not([data-llx-theme="dark"]) .llx-ritual--full h4 { color: var(--ax-gold-ink); }
html:not([data-llx-theme="dark"]) .llx-moonme__disc span { background: #fff7dc; box-shadow: inset 0 0 12px rgba(214, 160, 34, .35); }

/* Hero entrance + gold shimmer */
.ll-astro-hero .ll-astro-badge, .ll-astro-hero__title, .ll-astro-hero__sub, .llx-hero__trust, .ll-astro-hero__card,
.llx-band .llx-crumbs, .llx-band__row, .llx-band .llx-birthbar { animation: ax-rise .9s cubic-bezier(.2, .7, .2, 1) both; }
.ll-astro-hero__title, .llx-band__row { animation-delay: .08s; }
.ll-astro-hero__sub, .llx-band .llx-birthbar { animation-delay: .18s; }
.llx-hero__trust { animation-delay: .28s; }
.ll-astro-hero__card { animation-delay: .2s; }
.llx-band__icon { animation: ax-float 6s ease-in-out infinite; }
@keyframes ax-rise { from { opacity: 0; transform: translateY(22px); } }
@keyframes ax-float { 50% { transform: translateY(-5px) rotate(-4deg); } }
body.ll-body--astro .ll-btn--gold { position: relative; overflow: hidden; }
body.ll-body--astro .ll-btn--gold::after { content: ""; position: absolute; top: 0; bottom: 0; width: 40%; left: -60%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .55), transparent); transform: skewX(-20deg); animation: ax-shine 6s ease-in-out 1.5s infinite; pointer-events: none; }
@keyframes ax-shine { 0%, 70% { left: -60%; } 100% { left: 130%; } }
@media (prefers-reduced-motion: reduce) {
	.ll-astro-hero .ll-astro-badge, .ll-astro-hero__title, .ll-astro-hero__sub, .llx-hero__trust, .ll-astro-hero__card, .llx-band .llx-crumbs, .llx-band__row, .llx-band .llx-birthbar, .llx-band__icon { animation: none !important; }
	body.ll-body--astro .ll-btn--gold::after { display: none; }
}

/* ======================================================================
 * 1.19.0 — language bar, WhatsApp question box, share & Facebook box
 * ====================================================================*/
.ax-langbar { background: linear-gradient(90deg, rgba(var(--ax-gold-rgb), .16), rgba(var(--ax-lav-rgb), .14)); border-bottom: 1px solid rgba(var(--ax-veil), .1); }
.ax-langbar__in { display: flex; align-items: center; justify-content: center; gap: 10px 16px; flex-wrap: wrap; padding-top: 8px; padding-bottom: 8px; }
.ax-langbar__txt { font-size: 13.5px; color: var(--ax-muted); text-align: center; }
.ax-langbar__btn { appearance: none; display: inline-flex; align-items: center; gap: 8px; border: 0; cursor: pointer; font: inherit; font-family: 'Noto Sans Sinhala', sans-serif; font-size: 15px; font-weight: 700; padding: 8px 18px 8px 8px; border-radius: 999px; color: var(--ax-on-gold); background: linear-gradient(135deg, var(--ax-gold-hi), var(--ax-gold) 60%, var(--ax-gold-2)); box-shadow: 0 6px 16px rgba(var(--ax-gold-rgb), .35); min-height: 40px; transition: transform .25s ease; }
.ax-langbar__btn span { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(255, 255, 255, .75); font-size: 15px; }
.ax-langbar__btn:hover { transform: translateY(-1px); }
.ax-langbar__btn:focus-visible { outline: 2px solid var(--ax-text); outline-offset: 2px; }
.ax-langbar__btn--en { background: var(--ax-surface); color: var(--ax-text); border: 1px solid var(--ax-border); box-shadow: none; }
@media (max-width: 560px) { .ax-langbar__txt { display: none; } .ax-langbar__in { padding-top: 7px; padding-bottom: 7px; } }

.ax-ask { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px 18px; align-items: center; margin: 22px 0 0; padding: 18px 20px; border-radius: 18px; background: linear-gradient(135deg, rgba(37, 211, 102, .14), rgba(var(--ax-surface-rgb), 1) 70%); border: 1px solid rgba(37, 211, 102, .45); }
.ax-ask__ico { font-size: 30px; line-height: 1; }
.ax-ask__body b { display: block; font-size: 18px; color: var(--ax-text); }
.ax-ask__body p { margin: 4px 0 0; font-size: 14px; line-height: 1.6; color: var(--ax-muted); }
.ax-ask__btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 20px; border-radius: 999px; background: #1fa855; color: #fff !important; font-weight: 700; text-decoration: none !important; white-space: nowrap; box-shadow: 0 8px 20px rgba(31, 168, 85, .35); transition: transform .25s ease; }
.ax-ask__btn:hover { transform: translateY(-2px); }
@media (max-width: 640px) { .ax-ask { grid-template-columns: auto minmax(0, 1fr); } .ax-ask__btn { grid-column: 1 / -1; justify-content: center; } }

.ax-share { margin: 34px 0 10px; padding: 22px; border-radius: 20px; background: linear-gradient(135deg, rgba(var(--ax-lav-rgb), .12), rgba(var(--ax-gold-rgb), .1)); border: 1px solid rgba(var(--ax-veil), .12); text-align: center; }
.ax-share__head h2 { margin: 0; font-size: clamp(18px, 2.4vw, 22px); line-height: 1.4; color: var(--ax-text); }
.ax-share__head p { margin: 6px auto 0; max-width: 560px; font-size: 14.5px; line-height: 1.6; color: var(--ax-muted); }
.ax-share__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 16px; }
.ax-sbtn { appearance: none; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--ax-border); background: var(--ax-surface); color: var(--ax-text) !important; font: inherit; font-size: 14.5px; font-weight: 600; text-decoration: none !important; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.ax-sbtn em { font-style: normal; }
.ax-sbtn > span { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; font-weight: 800; font-size: 14px; color: #fff; background: var(--ax-muted); }
.ax-sbtn:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(var(--ax-shadow-rgb), calc(.3 * var(--ax-shadow-k))); }
.ax-sbtn--fb > span { background: #1877f2; font-family: Arial, sans-serif; }
.ax-sbtn--wa > span { background: #1fa855; }
.ax-sbtn--copy > span, .ax-sbtn--native > span { background: var(--ax-lav); }
.ax-fbpage { display: flex; align-items: center; gap: 14px; max-width: 520px; margin: 18px auto 0; padding: 12px 14px; border-radius: 16px; background: var(--ax-surface); border: 1px solid rgba(24, 119, 242, .35); text-decoration: none !important; color: var(--ax-text) !important; text-align: left; transition: transform .2s ease; }
.ax-fbpage:hover { transform: translateY(-2px); }
.ax-fbpage__logo { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 12px; background: #1877f2; color: #fff; font: 800 26px/42px Arial, sans-serif; text-align: center; }
.ax-fbpage__txt { flex: 1 1 auto; min-width: 0; }
.ax-fbpage__txt b { display: block; font-size: 15px; }
.ax-fbpage__txt small { font-size: 12.5px; color: var(--ax-muted); }
.ax-fbpage__btn { flex: 0 0 auto; padding: 8px 14px; border-radius: 10px; background: #1877f2; color: #fff; font-weight: 700; font-size: 14px; white-space: nowrap; }
@media (max-width: 420px) { .ax-fbpage { flex-wrap: wrap; } .ax-fbpage__btn { width: 100%; text-align: center; } }
@media print { .ax-langbar, .ax-share, .ax-ask { display: none !important; } }
