/* LankaLux Astro insights (theme 1.14.0) — cosmic profile, soul & career,
   timing, prashna, vibe check. Dark astro surface; mobile-first. */
.llx-panel, .llx-prashna, .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); --llx-good: #3fb97a; --llx-mixed: #c9a64a; --llx-caution: #e07a5f; color: var(--llx-ink); }
.llx-panel { max-width: 980px; margin: 0 auto; display: flex; flex-direction: column; gap: 16px; }
.llx-placeholder { color: var(--llx-muted); }
.llx-box { background: var(--llx-card); border: 1px solid var(--llx-border); border-radius: 14px; padding: 16px; min-width: 0; }
.llx-box:empty, .llx-box[hidden] { display: none; }
.llx-box h4 { margin: 0 0 10px; font-size: 17px; line-height: 1.4; color: var(--ax-gold-ink); }
.llx-box h5 { margin: 16px 0 6px; font-size: 15px; color: var(--llx-ink); }
.llx-box p { margin: 8px 0 0; font-size: 14.5px; line-height: 1.65; }
.llx-grid2 { display: grid; grid-template-columns: 1fr; gap: 14px; }
@media (min-width: 760px) { .llx-grid2 { grid-template-columns: 1fr 1fr; } }
.llx-kicker { display: block; font-size: 12.5px; letter-spacing: .04em; text-transform: uppercase; color: var(--ax-gold-ink); margin-bottom: 4px; }
.llx-note { font-size: 13px !important; line-height: 1.6; color: var(--llx-muted); }
.llx-note--lang { background: rgba(var(--ax-gold-rgb), .1); border-left: 3px solid var(--llx-gold); padding: 8px 12px; border-radius: 6px; color: var(--llx-ink); }
.llx-warn { font-size: 13.5px; line-height: 1.6; background: rgba(224, 122, 95, .12); border-left: 3px solid var(--llx-caution); padding: 8px 12px; border-radius: 6px; }
.llx-status { color: var(--llx-muted); font-size: 14px; min-height: 1em; }
.llx-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 12px; }
.llx-actions audio { max-width: 100%; height: 36px; }
.llx-field { display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: var(--llx-muted); margin-top: 12px; }
.llx-field input, .llx-field select { background: var(--ax-surface-2); color: var(--llx-ink); border: 1px solid var(--llx-border); border-radius: 10px; padding: 10px 12px; font: inherit; font-size: 15px; width: 100%; max-width: 100%; box-sizing: border-box; }
.llx-field--row { max-width: 460px; margin: 0; }
.llx-swatch { display: inline-block; width: 14px; height: 14px; border-radius: 50%; vertical-align: -2px; margin-right: 6px; border: 1px solid rgba(var(--ax-veil), .5); }

/* Cosmic ID card */
.llx-card { display: grid; grid-template-columns: 1fr; gap: 16px; background: var(--llx-card); border: 1px solid var(--llx-border); border-radius: 14px; padding: 16px; }
@media (min-width: 760px) { .llx-card { grid-template-columns: minmax(0, 340px) 1fr; } }
.llx-card__preview { display: flex; justify-content: center; }
.llx-card__canvas { width: 100%; max-width: 340px; height: auto; aspect-ratio: 1080 / 1350; border-radius: 12px; box-shadow: 0 10px 30px rgba(var(--ax-shadow-rgb), calc(.35 * var(--ax-shadow-k))); }
.llx-facts { display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; margin: 0; font-size: 14.5px; }
.llx-facts dt { color: var(--llx-muted); }
.llx-facts dd { margin: 0; font-weight: 600; }

/* Radar + bars */
.llx-radar { width: 100%; max-width: 340px; display: block; margin: 0 auto; }
.llx-radar__ring { fill: none; stroke: rgba(var(--ax-veil), .1); stroke-width: 1; }
.llx-radar__axis { stroke: rgba(var(--ax-veil), .12); stroke-width: 1; }
.llx-radar__shape { fill: rgba(var(--ax-gold-rgb), .22); stroke: var(--llx-gold); stroke-width: 2; stroke-linejoin: round; }
.llx-radar__dot { fill: var(--ax-gold-ink); stroke: var(--llx-card); stroke-width: 2; }
.llx-radar__label { fill: var(--llx-ink); font-size: 13px; }
.llx-radar__val { fill: var(--llx-muted); font-size: 12px; }
.llx-bars { display: flex; flex-direction: column; gap: 12px; }
.llx-bar { display: grid; grid-template-columns: minmax(90px, 34%) 1fr 44px; align-items: center; gap: 4px 10px; font-size: 14px; }
.llx-bar__track { height: 10px; background: rgba(var(--ax-veil), .08); border-radius: 5px; overflow: hidden; }
.llx-bar__fill { display: block; height: 100%; background: var(--llx-gold); border-radius: 0 4px 4px 0; }
.llx-bar__val { text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; }
.llx-bar__sub { grid-column: 1 / -1; font-size: 12.5px; color: var(--llx-muted); }

.llx-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.llx-table th, .llx-table td { padding: 8px 6px; border-bottom: 1px solid rgba(var(--ax-veil), .08); text-align: left; }
.llx-table thead th { color: var(--llx-muted); font-weight: 500; font-size: 13px; }
.llx-table thead small { display: block; font-size: 11px; opacity: .8; }
.llx-shift { color: var(--ax-gold-ink); font-weight: 700; }

/* Power spots + retreat CTA */
.llx-spots { display: grid; grid-template-columns: 1fr; gap: 10px; }
@media (min-width: 640px) { .llx-spots { grid-template-columns: 1fr 1fr; } }
.llx-spot { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--llx-border); background: var(--ax-surface-2); color: var(--llx-ink) !important; text-decoration: none !important; }
.llx-spot:hover, .llx-spot:focus-visible { border-color: var(--llx-gold); }
.llx-spot b { font-size: 15.5px; color: var(--ax-gold-ink); }
.llx-spot span { font-size: 13.5px; line-height: 1.55; }
.llx-spot small { font-size: 12px; color: var(--llx-muted); }
.llx-spot .llx-spot__el { font-size: 11.5px; text-transform: uppercase; letter-spacing: .05em; color: var(--llx-muted); }
.llx-retreat { margin-top: 14px; padding: 14px; border-radius: 12px; background: linear-gradient(135deg, rgba(var(--ax-gold-rgb), .14), rgba(63, 185, 122, .1)); border: 1px solid rgba(var(--ax-gold-rgb), .35); }
.llx-retreat p { margin: 0 0 10px !important; }
.ll-hwa .llx-box { margin-top: 16px; }

/* Soul & career */
.llx-axis, .llx-arch { background: var(--ax-surface-2); border: 1px solid var(--llx-border); border-radius: 12px; padding: 12px 14px; }
.llx-axis b, .llx-arch b { display: block; font-size: 16px; }
.llx-axis p, .llx-arch p { font-size: 14px !important; }
.llx-arch small { display: block; margin-top: 6px; font-size: 12px; color: var(--llx-muted); }
.llx-list { margin: 0; padding-left: 18px; font-size: 14.5px; line-height: 1.7; }
.llx-mantra { border-top: 1px solid rgba(var(--ax-veil), .08); padding-top: 12px; margin-top: 12px; }
.llx-mantra:first-of-type { border-top: 0; margin-top: 0; padding-top: 0; }
.llx-mantra__head { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.llx-mantra__head b { font-size: 16px; }
.llx-mantra__head small { color: var(--llx-muted); font-size: 12.5px; }
.llx-mantra__body { display: grid; grid-template-columns: 110px 1fr; gap: 14px; align-items: start; margin-top: 8px; }
.llx-mantra__dev { font-size: 18px !important; line-height: 1.5; margin: 0 !important; }
.llx-mantra__lat { font-style: italic; color: var(--ax-gold-ink); margin: 4px 0 0 !important; }
.llx-mantra__japa, .llx-mantra__gem { font-size: 13px !important; color: var(--llx-muted); margin: 4px 0 0 !important; }
.llx-yantra { width: 110px; height: 110px; }
.llx-yantra text { fill: var(--llx-ink); font-size: 17px; font-weight: 600; }
.llx-tone[aria-pressed="true"] { background: var(--llx-gold); color: var(--ax-on-gold); }

/* Timing */
.llx-pp__now { border-radius: 12px; padding: 14px; background: var(--ax-surface-2); border-left: 5px solid var(--llx-mixed); }
.llx-pp__now b { display: block; font-size: 20px; margin-top: 2px; }
.llx-pp__count { font-variant-numeric: tabular-nums; }
.llx-pp__count span { font-weight: 700; color: var(--ax-gold-ink); }
.llx-pp__line { list-style: none; margin: 12px 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; }
.llx-pp__line li { background: var(--ax-surface-2); border-radius: 8px; padding: 6px 4px; text-align: center; border-bottom: 4px solid var(--llx-mixed); min-width: 0; }
.llx-pp__line li.is-now { outline: 2px solid var(--llx-gold); outline-offset: 1px; }
.llx-pp__t { display: block; font-size: 11.5px; color: var(--llx-muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.llx-pp__a { display: block; font-size: 12.5px; font-weight: 600; overflow-wrap: anywhere; }
.llx-act-0 { border-color: #3fb97a !important; }
.llx-act-1 { border-color: #7cc49a !important; }
.llx-act-2 { border-color: #c9a64a !important; }
.llx-act-3 { border-color: #8a96a8 !important; }
.llx-act-4 { border-color: #5d6878 !important; }
.llx-days { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.llx-day { display: grid; grid-template-columns: 64px 1fr auto; gap: 4px 10px; align-items: center; padding: 8px 10px; background: var(--ax-surface-2); border-radius: 10px; border-left: 4px solid var(--llx-mixed); }
.llx-day--good { border-left-color: var(--llx-good); }
.llx-day--caution { border-left-color: var(--llx-caution); }
.llx-day__date b { display: block; font-size: 14.5px; }
.llx-day__date small, .llx-day__star small { display: block; font-size: 12px; color: var(--llx-muted); }
.llx-day__star { font-size: 14px; min-width: 0; }
.llx-day__note { grid-column: 1 / -1; font-size: 13px; line-height: 1.55; color: var(--llx-muted); }
.llx-day__note b { color: var(--llx-ink); font-weight: 600; }
.llx-chip { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 600; white-space: nowrap; background: rgba(201, 166, 74, .18); color: var(--ax-mixed-ink); }
.llx-chip--good { background: rgba(63, 185, 122, .18); color: var(--ax-good-ink); }
.llx-chip--caution { background: rgba(224, 122, 95, .18); color: var(--ax-bad-ink); }
.llx-alerts { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.llx-alerts li { display: grid; grid-template-columns: 32px 1fr; gap: 10px; background: var(--ax-surface-2); border-radius: 10px; padding: 10px 12px; }
.llx-alerts__sym { font-size: 22px; color: var(--ax-gold-ink); line-height: 1.2; text-align: center; }
.llx-alerts b { font-size: 14.5px; }
.llx-alerts p { margin: 4px 0 0 !important; font-size: 13.5px !important; }

/* Prashna */
.llx-prashna { padding: 36px 0; }
.llx-prashna__card { max-width: 980px; margin: 0 auto; background: linear-gradient(160deg, var(--ax-surface), var(--ax-surface-2)); border: 1px solid var(--llx-border); border-radius: 18px; padding: 20px 16px; }
@media (min-width: 760px) { .llx-prashna__card { padding: 28px; } }
.llx-prashna__card h2 { margin: 0 0 8px; font-size: clamp(22px, 4vw, 30px); color: var(--llx-ink); }
.llx-prashna__card > p { margin: 0; color: var(--llx-muted); line-height: 1.65; }
.llx-prashna__form { display: grid; grid-template-columns: 1fr; gap: 0 14px; align-items: end; }
@media (min-width: 760px) { .llx-prashna__form { grid-template-columns: 1fr 1fr auto; } }
.llx-prashna__form .ll-btn { margin-top: 14px; }
.llx-prashna__out { margin-top: 18px; }
.llx-pq__verdict { background: var(--ax-surface-2); border-radius: 12px; padding: 14px; border-left: 5px solid var(--llx-mixed); }
.llx-pq__verdict.llx-day--good { border-left-color: var(--llx-good); }
.llx-pq__verdict.llx-day--caution { border-left-color: var(--llx-caution); }
.llx-pq__verdict p { margin: 8px 0 0; line-height: 1.6; }
.llx-pq__meta { font-size: 13px; color: var(--llx-muted); }
.llx-factors { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.llx-factors li span { display: inline-block; width: 18px; font-weight: 700; }
.llx-factors .is-plus span { color: var(--llx-good); }
.llx-factors .is-minus span { color: var(--llx-caution); }

/* Vibe check (Porondam page) */
.llx-vibe { margin: 24px auto 0; max-width: 860px; background: var(--ax-surface); border: 1px solid var(--ax-border); border-radius: 16px; padding: 18px 16px; }
.llx-vibe h3 { margin: 0 0 12px; color: var(--ax-gold-ink); font-size: 19px; }
.llx-vibe__types { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.llx-vibe__type { background: var(--ax-surface-2); color: var(--ax-text); border: 1px solid var(--ax-border); border-radius: 999px; padding: 7px 14px; font: inherit; font-size: 14px; cursor: pointer; }
.llx-vibe__type.is-on { background: var(--ax-gold); color: var(--ax-on-gold); border-color: var(--ax-gold); font-weight: 600; }
.llx-vibe__overall { margin: 0 0 14px; }
.llx-vibe__overall b { font-size: 34px; color: var(--ax-gold-ink); font-variant-numeric: tabular-nums; }
.llx-vibe__overall span { color: var(--ax-muted); margin-left: 6px; }
.llx-vibe .llx-note { margin-top: 12px; }
