.hai-theme {
    margin: 0 0 1.25rem;
}

.hai-sign-summary,
.hai-zodiac-daily {
    margin: 2rem 0;
}

.hai-sign-summary + .hai-sign-summary {
    padding-top: 1.25rem;
    border-top: 1px solid rgba(127, 127, 127, .22);
}

.hai-ratings {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem 1.25rem;
    margin: 1rem 0;
    font-size: .95em;
}

.hai-ratings span {
    white-space: nowrap;
}

.hai-tip {
    padding: .75rem 1rem;
    border-left: 3px solid currentColor;
    background: rgba(127, 127, 127, .07);
}

.hai-more {
    margin-top: 1rem;
    font-weight: 600;
}

.hai-disclaimer {
    margin-top: 1.5rem;
    font-size: .84em;
    opacity: .72;
}

.hai-zodiac-static {
    margin-top: 2.5rem;
}

.hai-zodiac-static > section,
.hai-zodiac-static > nav {
    margin: 2.25rem 0;
}

.hai-zodiac-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: .75rem;
    margin: 1.4rem 0 0;
}

.hai-zodiac-facts > div {
    padding: .85rem 1rem;
    border: 1px solid rgba(127, 127, 127, .20);
    border-radius: .35rem;
}

.hai-zodiac-facts dt {
    font-size: .82em;
    opacity: .72;
}

.hai-zodiac-facts dd {
    margin: .25rem 0 0;
    font-weight: 600;
}

.hai-trait-list {
    margin-top: 1rem;
}

.hai-trait-list li + li {
    margin-top: .55rem;
}

.hai-other-signs > div {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.hai-other-signs a {
    display: inline-block;
    padding: .45rem .7rem;
    border: 1px solid rgba(127, 127, 127, .22);
    border-radius: 999px;
    text-decoration: none;
}

/* v0.2.5 — optional embedded SVG icon system with selectable color schemes (no external icon library). */
.hai-icons-enabled .hai-zodiac-static h2,
.hai-icons-enabled .hai-zodiac-daily h2,
.hai-icons-enabled .hai-zodiac-daily h3,
.hai-icons-enabled .hai-theme,
.hai-icons-enabled .hai-other-signs h2 {
    --hai-icon: none;
}

.hai-icons-enabled .hai-zodiac-static h2::before,
.hai-icons-enabled .hai-zodiac-daily h2::before,
.hai-icons-enabled .hai-zodiac-daily h3::before,
.hai-icons-enabled .hai-theme::before,
.hai-icons-enabled .hai-zodiac-facts dt::before,
.hai-icons-enabled .hai-ratings span::before,
.hai-icons-enabled .hai-tip::before,
.hai-icons-enabled .hai-trait-list li::before,
.hai-icons-enabled .hai-other-signs h2::before {
    content: "";
    display: inline-block;
    width: 1.05em;
    height: 1.05em;
    flex: 0 0 1.05em;
    background-color: var(--hai-icon-color, currentColor);
    -webkit-mask-image: var(--hai-icon);
    mask-image: var(--hai-icon);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    opacity: .88;
}

.hai-icons-enabled .hai-zodiac-static h2,
.hai-icons-enabled .hai-zodiac-daily h2,
.hai-icons-enabled .hai-zodiac-daily h3,
.hai-icons-enabled .hai-other-signs h2 {
    display: flex;
    align-items: center;
    gap: .55rem;
}

.hai-icons-enabled .hai-theme,
.hai-icons-enabled .hai-zodiac-facts dt,
.hai-icons-enabled .hai-ratings span,
.hai-icons-enabled .hai-tip,
.hai-icons-enabled .hai-trait-list li {
    position: relative;
}

.hai-icons-enabled .hai-theme,
.hai-icons-enabled .hai-zodiac-facts dt,
.hai-icons-enabled .hai-ratings span {
    display: flex;
    align-items: center;
    gap: .4rem;
}

/* Section icons — evergreen zodiac pages. */
.hai-icons-enabled .hai-zodiac-static > section:nth-of-type(1) > h2 {
    --hai-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M12 3l1.7 4.3L18 9l-4.3 1.7L12 15l-1.7-4.3L6 9l4.3-1.7L12 3zm7 11l.8 2.2L22 17l-2.2.8L19 20l-.8-2.2L16 17l2.2-.8L19 14zM5 14l.7 1.8L7.5 16.5l-1.8.7L5 19l-.7-1.8l-1.8-.7l1.8-.7L5 14z'/%3E%3C/svg%3E");
}
.hai-icons-enabled .hai-zodiac-static > section:nth-of-type(2) > h2 {
    --hai-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='4' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M4 21c.6-4.2 3.2-6 8-6s7.4 1.8 8 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.hai-icons-enabled .hai-zodiac-static > section:nth-of-type(3) > h2 {
    --hai-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M12 13v8M8.5 17h7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.hai-icons-enabled .hai-zodiac-static > section:nth-of-type(4) > h2 {
    --hai-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='9' cy='15' r='5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M12.5 11.5L20 4m-5 0h5v5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.hai-icons-enabled .hai-zodiac-static > section:nth-of-type(5) > h2,
.hai-icons-enabled .hai-zodiac-daily > h3:nth-of-type(2),
.hai-icons-enabled .hai-ratings span:nth-child(1) {
    --hai-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 00-7.8 0L12 5.7l-1.1-1.1a5.5 5.5 0 00-7.8 7.8L12 21l8.8-8.6a5.5 5.5 0 000-7.8z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.hai-icons-enabled .hai-zodiac-static > section:nth-of-type(6) > h2,
.hai-icons-enabled .hai-zodiac-daily > h3:nth-of-type(3),
.hai-icons-enabled .hai-ratings span:nth-child(2) {
    --hai-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='7' width='18' height='13' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M8 7V5a2 2 0 012-2h4a2 2 0 012 2v2M3 12h18M10 12v2h4v-2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.hai-icons-enabled .hai-zodiac-static > section:nth-of-type(7) > h2 {
    --hai-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3l2.8 5.7L21 9.6l-4.5 4.4 1.1 6.2L12 17.2 6.4 20.2 7.5 14 3 9.6l6.2-.9L12 3z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.hai-icons-enabled .hai-zodiac-static > section:nth-of-type(8) > h2 {
    --hai-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3L2.8 20h18.4L12 3z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M12 9v5m0 3h.01' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.hai-icons-enabled .hai-zodiac-static > section:nth-of-type(9) > h2 {
    --hai-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 13a5 5 0 007.1.1l2-2a5 5 0 00-7.1-7.1l-1.1 1.1M14 11a5 5 0 00-7.1-.1l-2 2A5 5 0 0012 20l1.1-1.1' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.hai-icons-enabled .hai-other-signs h2 {
    --hai-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h6v6H4zM14 4h6v6h-6zM4 14h6v6H4zM14 14h6v6h-6z' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E");
}

/* Fact-card icons. */
.hai-icons-enabled .hai-zodiac-facts > div:nth-child(1) dt {
    --hai-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='16' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M8 3v4m8-4v4M3 10h18' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.hai-icons-enabled .hai-zodiac-facts > div:nth-child(2) dt {
    --hai-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3l8 4-8 4-8-4 8-4zm8 9l-8 4-8-4m16 5l-8 4-8-4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.hai-icons-enabled .hai-zodiac-facts > div:nth-child(3) dt {
    --hai-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M15.5 8.5l-2.2 4.8-4.8 2.2 2.2-4.8 4.8-2.2z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.hai-icons-enabled .hai-zodiac-facts > div:nth-child(4) dt {
    --hai-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4' fill='none' stroke='black' stroke-width='2'/%3E%3Cellipse cx='12' cy='12' rx='10' ry='4' fill='none' stroke='black' stroke-width='2' transform='rotate(-18 12 12)'/%3E%3C/svg%3E");
}

/* Daily horoscope icons. */
.hai-icons-enabled .hai-theme,
.hai-icons-enabled .hai-zodiac-daily > h3:nth-of-type(1) {
    --hai-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M12 2v2m0 16v2M4.9 4.9l1.4 1.4m11.4 11.4l1.4 1.4M2 12h2m16 0h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.hai-icons-enabled .hai-zodiac-daily > h3:nth-of-type(4),
.hai-icons-enabled .hai-ratings span:nth-child(3) {
    --hai-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 7h13a3 3 0 013 3v8H4a2 2 0 01-2-2V9a2 2 0 012-2z' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M16 12h5v4h-5a2 2 0 010-4zM6 7V5h11v2' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.hai-icons-enabled .hai-zodiac-daily > h3:nth-of-type(5) {
    --hai-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2L5 14h6l-1 8 9-13h-6V2z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.hai-icons-enabled .hai-ratings span:nth-child(4) {
    --hai-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12c-2.8-4-7-3.8-7-1.2 0 1.8 1.7 2.8 3.8 2.8C6 15.2 5.6 19 8.2 19c1.8 0 2.8-1.7 2.8-3.8 1.6 2.8 5.4 3.2 5.4.6 0-1.8-1.7-2.8-3.8-2.8 2.8-1.6 3.2-5.4.6-5.4-1.8 0-2.8 1.7-2.8 3.8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.hai-icons-enabled .hai-tip {
    --hai-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 18h6m-5 3h4M8 14c-1.3-1.1-2-2.6-2-4a6 6 0 1112 0c0 1.4-.7 2.9-2 4-1 .8-1.5 1.7-1.7 3H9.7c-.2-1.3-.7-2.2-1.7-3z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    display: flex;
    align-items: flex-start;
    gap: .55rem;
}
.hai-icons-enabled .hai-tip::before {
    margin-top: .12em;
}

/* Strength/challenge list icons. */
.hai-icons-enabled .hai-zodiac-static > section:nth-of-type(7) .hai-trait-list,
.hai-icons-enabled .hai-zodiac-static > section:nth-of-type(8) .hai-trait-list {
    list-style: none;
    padding-left: 0;
}
.hai-icons-enabled .hai-zodiac-static > section:nth-of-type(7) .hai-trait-list li,
.hai-icons-enabled .hai-zodiac-static > section:nth-of-type(8) .hai-trait-list li {
    display: block;
    padding-left: 1.6em;
}
.hai-icons-enabled .hai-zodiac-static > section:nth-of-type(7) .hai-trait-list li::before {
    --hai-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M8 12l2.5 2.5L16 9' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    position: absolute;
    left: 0;
    top: .18em;
}
.hai-icons-enabled .hai-zodiac-static > section:nth-of-type(8) .hai-trait-list li::before {
    --hai-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M12 7v6m0 4h.01' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
    position: absolute;
    left: 0;
    top: .18em;
}

/* Visual style variants. */
.hai-icons-style-soft .hai-zodiac-static > section > h2,
.hai-icons-style-soft .hai-zodiac-daily > h2,
.hai-icons-style-soft .hai-other-signs > h2 {
    padding: .58rem .75rem;
    border-radius: .55rem;
    background: rgba(127, 127, 127, .065);
}
.hai-icons-style-soft .hai-zodiac-daily > h3 {
    padding-bottom: .3rem;
    border-bottom: 1px solid rgba(127, 127, 127, .15);
}
.hai-icons-style-soft .hai-zodiac-facts > div {
    background: rgba(127, 127, 127, .035);
}
.hai-icons-style-minimal .hai-zodiac-static h2::before,
.hai-icons-style-minimal .hai-zodiac-daily h2::before,
.hai-icons-style-minimal .hai-zodiac-daily h3::before,
.hai-icons-style-minimal .hai-zodiac-facts dt::before,
.hai-icons-style-minimal .hai-ratings span::before,
.hai-icons-style-minimal .hai-tip::before,
.hai-icons-style-minimal .hai-trait-list li::before,
.hai-icons-style-minimal .hai-theme::before,
.hai-icons-style-minimal .hai-other-signs h2::before {
    opacity: .72;
}

@media (max-width: 600px) {
    .hai-icons-enabled .hai-zodiac-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .hai-icons-enabled .hai-ratings {
        gap: .5rem .9rem;
    }
}

.hai-icons-enabled .hai-zodiac-daily > h2 {
    --hai-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M12 2v2m0 16v2M4.9 4.9l1.4 1.4m11.4 11.4l1.4 1.4M2 12h2m16 0h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}


/* v0.2.5 icon color schemes. */
.hai-icon-colors-neutral { --hai-icon-color: #6b7280; }
.hai-icon-colors-accent { --hai-icon-color: var(--hai-icon-accent, #8b5cf6); }

/* Colorful lifestyle palette — evergreen sections. */
.hai-icon-colors-colorful .hai-zodiac-static > section:nth-of-type(1) > h2 { --hai-icon-color: #8b5cf6; }
.hai-icon-colors-colorful .hai-zodiac-static > section:nth-of-type(2) > h2 { --hai-icon-color: #8b5cf6; }
.hai-icon-colors-colorful .hai-zodiac-static > section:nth-of-type(3) > h2 { --hai-icon-color: #e86a92; }
.hai-icon-colors-colorful .hai-zodiac-static > section:nth-of-type(4) > h2 { --hai-icon-color: #4f7cf7; }
.hai-icon-colors-colorful .hai-zodiac-static > section:nth-of-type(5) > h2,
.hai-icon-colors-colorful .hai-zodiac-daily > h3:nth-of-type(2),
.hai-icon-colors-colorful .hai-ratings span:nth-child(1) { --hai-icon-color: #e84d7a; }
.hai-icon-colors-colorful .hai-zodiac-static > section:nth-of-type(6) > h2,
.hai-icon-colors-colorful .hai-zodiac-daily > h3:nth-of-type(3),
.hai-icon-colors-colorful .hai-ratings span:nth-child(2) { --hai-icon-color: #4f7cf7; }
.hai-icon-colors-colorful .hai-zodiac-static > section:nth-of-type(7) > h2 { --hai-icon-color: #d4a017; }
.hai-icon-colors-colorful .hai-zodiac-static > section:nth-of-type(8) > h2 { --hai-icon-color: #ef6c57; }
.hai-icon-colors-colorful .hai-zodiac-static > section:nth-of-type(9) > h2 { --hai-icon-color: #8b5cf6; }
.hai-icon-colors-colorful .hai-other-signs h2 { --hai-icon-color: #14b8a6; }

/* Facts: date, element, modality, ruler. */
.hai-icon-colors-colorful .hai-zodiac-facts > div:nth-child(1) dt { --hai-icon-color: #e86a92; }
.hai-icon-colors-colorful .hai-zodiac-facts > div:nth-child(2) dt { --hai-icon-color: #f59e0b; }
.hai-icon-colors-colorful .hai-zodiac-facts > div:nth-child(3) dt { --hai-icon-color: #5b7cfa; }
.hai-icon-colors-colorful .hai-zodiac-facts > div:nth-child(4) dt { --hai-icon-color: #8b5cf6; }

/* Daily horoscope. */
.hai-icon-colors-colorful .hai-theme,
.hai-icon-colors-colorful .hai-zodiac-daily > h2,
.hai-icon-colors-colorful .hai-zodiac-daily > h3:nth-of-type(1) { --hai-icon-color: #f59e0b; }
.hai-icon-colors-colorful .hai-zodiac-daily > h3:nth-of-type(4),
.hai-icon-colors-colorful .hai-ratings span:nth-child(3) { --hai-icon-color: #38a169; }
.hai-icon-colors-colorful .hai-zodiac-daily > h3:nth-of-type(5) { --hai-icon-color: #f59e0b; }
.hai-icon-colors-colorful .hai-ratings span:nth-child(4) { --hai-icon-color: #10b981; }
.hai-icon-colors-colorful .hai-tip { --hai-icon-color: #8b5cf6; }

/* Strength/challenge bullets. */
.hai-icon-colors-colorful .hai-zodiac-static > section:nth-of-type(7) .hai-trait-list li { --hai-icon-color: #22a06b; }
.hai-icon-colors-colorful .hai-zodiac-static > section:nth-of-type(8) .hai-trait-list li { --hai-icon-color: #ef6c57; }

/* Very light semantic heading backgrounds in soft mode. */
.hai-icon-colors-colorful.hai-icons-style-soft .hai-zodiac-static > section:nth-of-type(5) > h2 { background: rgba(232, 77, 122, .065); }
.hai-icon-colors-colorful.hai-icons-style-soft .hai-zodiac-static > section:nth-of-type(6) > h2 { background: rgba(79, 124, 247, .06); }
.hai-icon-colors-colorful.hai-icons-style-soft .hai-zodiac-static > section:nth-of-type(7) > h2 { background: rgba(212, 160, 23, .065); }
.hai-icon-colors-colorful.hai-icons-style-soft .hai-zodiac-static > section:nth-of-type(8) > h2 { background: rgba(239, 108, 87, .06); }
.hai-icon-colors-colorful.hai-icons-style-soft .hai-zodiac-static > section:nth-of-type(9) > h2 { background: rgba(139, 92, 246, .06); }

.hai-icons-enabled .hai-tip {
    border-left-color: var(--hai-icon-color, currentColor);
}


/* v0.4.0 — period navigation: Днес / Утре / Седмица / Месец. */
.hai-period-switcher {
    margin: 0 0 2rem;
}
.hai-period-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin: 0 0 1.15rem;
    padding: .35rem;
    border: 1px solid rgba(127,127,127,.16);
    border-radius: .85rem;
    background: rgba(127,127,127,.035);
}
.hai-period-tab {
    appearance: none;
    border: 1px solid transparent;
    border-radius: .65rem;
    padding: .58rem .95rem;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: 650;
    line-height: 1.2;
    cursor: pointer;
    transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}
.hai-period-tab:not(:disabled):hover {
    background: rgba(139,92,246,.08);
    border-color: rgba(139,92,246,.16);
}
.hai-period-tab.is-active {
    background: var(--hai-icon-accent, #8b5cf6);
    border-color: var(--hai-icon-accent, #8b5cf6);
    color: #fff;
    box-shadow: 0 4px 14px rgba(75, 62, 120, .12);
}
.hai-period-tab[data-hai-tab="tomorrow"].is-active {
    background: #e86a92;
    border-color: #e86a92;
}
.hai-period-tab:focus-visible {
    outline: 2px solid var(--hai-icon-accent, #8b5cf6);
    outline-offset: 2px;
}
.hai-period-tab:disabled,
.hai-period-tab.is-coming {
    opacity: .42;
    cursor: not-allowed;
}
.hai-period-panel[hidden] {
    display: none !important;
}
.hai-period-panel {
    animation: hai-period-in .18s ease-out;
}
.hai-zodiac-tomorrow > h2 {
    --hai-icon-color: #e86a92;
}
.hai-icon-colors-colorful.hai-icons-style-soft .hai-zodiac-tomorrow > h2 {
    background: rgba(232,106,146,.065);
}
@keyframes hai-period-in {
    from { opacity: .35; transform: translateY(2px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
    .hai-period-panel { animation: none; }
    .hai-period-tab { transition: none; }
}
@media (max-width: 600px) {
    .hai-period-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .hai-period-tab {
        width: 100%;
        text-align: center;
    }
}

/* v0.4.0 — weekly horoscope. */
.hai-period-tab[data-hai-tab="week"].is-active {
    background: #8b5cf6;
    border-color: #8b5cf6;
}
.hai-zodiac-weekly > h2 {
    --hai-icon-color: #8b5cf6;
}
.hai-icon-colors-colorful.hai-icons-style-soft .hai-zodiac-weekly > h2 {
    background: rgba(139,92,246,.065);
}
.hai-weekly-focus {
    margin: .8rem 0 1.15rem;
    padding: .65rem .85rem;
    border-radius: .65rem;
    background: rgba(139,92,246,.07);
    font-size: .96em;
}
.hai-weekly-post .hai-sign-summary h2 {
    margin-bottom: .6rem;
}


/* v0.5.0 — monthly horoscope. */
.hai-period-tab[data-hai-tab="month"].is-active {
    background: #d4a017;
    border-color: #d4a017;
}
.hai-zodiac-monthly > h2 {
    --hai-icon-color: #d4a017;
}
.hai-icon-colors-colorful.hai-icons-style-soft .hai-zodiac-monthly > h2 {
    background: rgba(212,160,23,.07);
}
.hai-monthly-focus {
    margin: .8rem 0 1.15rem;
    padding: .65rem .85rem;
    border-radius: .65rem;
    background: rgba(212,160,23,.08);
    font-size: .96em;
}
.hai-monthly-post .hai-sign-summary h2 {
    margin-bottom: .6rem;
}

/* v0.5.2 — zodiac hub /zodii/ */
.hai-zodiac-hub {
    --hai-hub-purple: #4c4084;
    --hai-hub-text: #27272a;
    --hai-hub-muted: #6b7280;
    --hai-hub-border: rgba(76, 64, 132, .14);
    color: var(--hai-hub-text);
}
.hai-hub-intro {
    margin: 0 0 2rem;
    padding: 1.45rem 1.55rem;
    border: 1px solid var(--hai-hub-border);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(76,64,132,.075), rgba(232,106,146,.055));
}
.hai-hub-lead {
    margin: 0;
    font-size: 1.08em;
    line-height: 1.75;
}
.hai-hub-periods {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: 1rem;
}
.hai-hub-periods span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: .32rem .78rem;
    border: 1px solid rgba(76,64,132,.16);
    border-radius: 999px;
    background: #fff;
    color: var(--hai-hub-purple);
    font-size: .9em;
    font-weight: 700;
}
.hai-hub-signs > h2,
.hai-hub-about > h2 {
    margin-top: 1.8rem;
}
.hai-hub-section-intro {
    margin-top: -.25rem;
    color: var(--hai-hub-muted);
}
.hai-sign-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .9rem;
    margin: 1.15rem 0 2.2rem;
}
.hai-sign-card {
    --hai-sign-color: #8b5cf6;
    position: relative;
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: .8rem 1rem;
    align-items: center;
    min-width: 0;
    padding: 1rem 1rem .9rem;
    border: 1px solid var(--hai-hub-border);
    border-top: 3px solid var(--hai-sign-color);
    border-radius: 12px;
    background: #fff;
    color: inherit;
    text-decoration: none !important;
    box-shadow: 0 4px 16px rgba(30, 26, 48, .045);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.hai-sign-card:hover,
.hai-sign-card:focus-visible {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--hai-sign-color) 42%, #ffffff);
    box-shadow: 0 9px 26px rgba(30, 26, 48, .10);
    color: inherit;
}
.hai-sign-card:focus-visible {
    outline: 2px solid var(--hai-sign-color);
    outline-offset: 2px;
}
.hai-sign-symbol {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--hai-sign-color) 10%, #ffffff);
    color: var(--hai-sign-color);
    font-size: 30px;
    line-height: 1;
}
.hai-sign-card-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: .12rem;
}
.hai-sign-name {
    color: #202024;
    font-size: 1.08em;
    line-height: 1.25;
}
.hai-sign-period,
.hai-sign-meta {
    color: var(--hai-hub-muted);
    font-size: .84em;
    line-height: 1.35;
}
.hai-sign-card-action {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: .68rem;
    border-top: 1px solid rgba(0,0,0,.06);
    color: var(--hai-sign-color);
    font-size: .86em;
    font-weight: 700;
}
.hai-element-fire { --hai-sign-color: #ef6c57; }
.hai-element-earth { --hai-sign-color: #5f9a63; }
.hai-element-air { --hai-sign-color: #4f8ecf; }
.hai-element-water { --hai-sign-color: #7667c7; }
.hai-hub-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem;
    margin: 1rem 0 1.2rem;
}
.hai-hub-feature-grid article {
    padding: 1rem 1.05rem;
    border: 1px solid rgba(76,64,132,.11);
    border-radius: 11px;
    background: rgba(76,64,132,.035);
}
.hai-hub-feature-grid strong {
    display: block;
    margin-bottom: .3rem;
    color: var(--hai-hub-purple);
    font-size: 1.02em;
}
.hai-hub-feature-grid p {
    margin: 0;
    line-height: 1.6;
}
.hai-hub-note {
    margin-top: 1.25rem;
    padding: .85rem 1rem;
    border-left: 3px solid rgba(76,64,132,.45);
    background: rgba(76,64,132,.035);
    color: var(--hai-hub-muted);
    font-size: .92em;
}
.hai-hub-custom-content {
    margin-top: 2rem;
}
@media (max-width: 900px) {
    .hai-sign-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .hai-hub-intro { padding: 1.05rem; }
    .hai-sign-grid,
    .hai-hub-feature-grid { grid-template-columns: 1fr; }
    .hai-sign-grid { gap: .72rem; }
    .hai-sign-card { padding: .9rem; }
}
