.horoscope-method { margin: 1.15rem auto; padding: .8rem 1rem; border: 1px solid currentColor; border-radius: 10px; max-width: 680px; font: inherit; line-height: 1.55; text-align: left; overflow-wrap: anywhere; }
.horoscope-method summary { cursor: pointer; font-weight: 600; }
.horoscope-method p { margin: .65rem 0; font: inherit; line-height: 1.55; }
.horoscope-method a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.horoscope-variant, .horoscope-result-note { margin: .85rem auto; max-width: 680px; padding: 0 .5rem; font: inherit; font-size: .92em; line-height: 1.55; text-align: center; overflow-wrap: anywhere; }
#ht-app #ht-year[type="date"] { width: 100%; min-width: 0; max-width: 300px; box-sizing: border-box; padding: .8rem; font-size: 1.1rem; background-image: none; color-scheme: dark; }
.maya-app-container input[type="date"], .egipcio-app-container input[type="date"] { color-scheme: dark; }
.horoscope-error { margin: .8rem 0; padding: .65rem; border: 1px solid currentColor; border-radius: 6px; font: inherit; line-height: 1.5; }
/* Keep reading text legible when the host page supplies different text tokens. */
#hc-app { color: var(--hc-text, #f5f1e8); }
#hj-app { color: var(--white, #f5f1e8); }
#ht-app { --white: #f5f1e8; color: var(--white); }
#hj-app .hj-info-card-title, #ht-app .ht-info-card-title { color: #f1aaa2; }
#hj-app .hj-compat-label, #hj-app .hj-lucky-label, #hj-app .hj-btn-secondary,
#ht-app .ht-compat-label, #ht-app .ht-lucky-label, #ht-app .ht-btn-secondary { color: #e0c688; }

/* Expanded catalogue readings retain paragraph breaks without changing the host design. */
#hc-app #hc-traits-text, #hj-app #hj-card-animal-desc, #ht-app #ht-card-animal-desc { white-space: pre-line; text-align: left; line-height: 1.65; }
