.rds-horoscope {
    --rds-h-bg:#ffffff;
    --rds-h-surface:#f7f7fb;
    --rds-h-surface-2:#f0eef9;
    --rds-h-text:#242332;
    --rds-h-muted:#737084;
    --rds-h-border:rgba(47,43,72,.11);
    --rds-h-accent:#7458ad;
    --rds-h-accent-soft:#f1edfb;
    --rds-h-pink:#aa557e;
    --rds-h-pink-soft:#fbecf4;
    --rds-h-good:#287a5a;
    --rds-h-shadow:0 14px 34px rgba(37,29,57,.055);
    box-sizing:border-box;
    width:100%;
    margin:1.4rem 0 2rem;
    color:var(--rds-h-text);
    font:inherit;
}
.rds-horoscope *,
.rds-horoscope *::before,
.rds-horoscope *::after { box-sizing:border-box; }
.rds-horoscope h2,
.rds-horoscope h3,
.rds-horoscope h4,
.rds-horoscope p { color:inherit; }
.rds-horoscope a { color:inherit; text-decoration:none; }
.rds-horoscope button,
.rds-horoscope select { font:inherit; }

.rds-horoscope-hero {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:1rem;
    padding:clamp(1.1rem,3vw,1.8rem);
    background:linear-gradient(145deg,var(--rds-h-bg),var(--rds-h-accent-soft));
    border:1px solid var(--rds-h-border);
    border-radius:24px;
    box-shadow:var(--rds-h-shadow);
}
.rds-horoscope-badge {
    display:inline-flex;
    align-items:center;
    gap:.38rem;
    margin-bottom:.55rem;
    padding:.32rem .72rem;
    color:var(--rds-h-accent);
    background:var(--rds-h-bg);
    border:1px solid var(--rds-h-border);
    border-radius:999px;
    font-size:.74em;
    font-weight:850;
}
.rds-horoscope-badge::before { content:""; width:7px; height:7px; background:currentColor; border-radius:50%; }
.rds-horoscope-hero h2 { margin:0; font-size:clamp(1.25rem,4vw,1.9rem); line-height:1.7; font-weight:900; }
.rds-horoscope-hero p { max-width:720px; margin:.35rem 0 0; color:var(--rds-h-muted); font-size:.88em; line-height:1.95; }
.rds-horoscope-date-card {
    display:grid;
    place-items:center;
    min-width:132px;
    padding:.85rem 1rem;
    color:var(--rds-h-accent);
    background:var(--rds-h-bg);
    border:1px solid var(--rds-h-border);
    border-radius:19px;
    box-shadow:0 8px 22px rgba(37,29,57,.04);
}
.rds-horoscope-date-card span { color:var(--rds-h-muted); font-size:.68em; }
.rds-horoscope-date-card strong { margin:.05rem 0; font-size:1.65rem; line-height:1.2; }
.rds-horoscope-date-card small { font-size:.75em; font-weight:750; }

.rds-horoscope-date-nav {
    display:flex;
    align-items:center;
    gap:.5rem;
    margin-top:.8rem;
    padding:.7rem;
    background:var(--rds-h-bg);
    border:1px solid var(--rds-h-border);
    border-radius:15px;
}
.rds-horoscope-date-nav > a,
.rds-horoscope-date-nav > span {
    display:inline-flex;
    min-height:39px;
    align-items:center;
    justify-content:center;
    padding:.42rem .75rem;
    color:var(--rds-h-text);
    background:var(--rds-h-surface);
    border:1px solid var(--rds-h-border);
    border-radius:10px;
    font-size:.72em;
    font-weight:750;
}
.rds-horoscope-date-nav > a:hover,
.rds-horoscope-date-nav > a.is-today { color:var(--rds-h-accent); background:var(--rds-h-accent-soft); }
.rds-horoscope-date-nav > span[aria-disabled="true"] { opacity:.45; }
.rds-horoscope-date-nav form { display:flex; flex:1; align-items:end; justify-content:flex-end; gap:.45rem; margin:0; }
.rds-horoscope-date-nav label { display:grid; gap:.2rem; min-width:230px; margin:0; }
.rds-horoscope-date-nav label > span { color:var(--rds-h-muted); font-size:.64em; }
.rds-horoscope-date-nav select {
    width:100%;
    min-height:39px;
    padding:.38rem .55rem;
    color:var(--rds-h-text);
    background:var(--rds-h-surface);
    border:1px solid var(--rds-h-border);
    border-radius:10px;
}
.rds-horoscope-date-nav button {
    min-height:39px;
    padding:.4rem .72rem;
    color:#fff;
    background:var(--rds-h-accent);
    border:0;
    border-radius:10px;
    cursor:pointer;
    font-size:.72em;
    font-weight:800;
}

.rds-horoscope-sign-nav {
    position:sticky;
    z-index:5;
    top:10px;
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:.35rem;
    margin-top:.8rem;
    padding:.55rem;
    overflow-x:auto;
    background:rgba(255,255,255,.94);
    background:color-mix(in srgb,var(--rds-h-bg) 92%,transparent);
    border:1px solid var(--rds-h-border);
    border-radius:15px;
    backdrop-filter:blur(10px);
}
.rds-horoscope-sign-nav a {
    display:flex;
    min-width:65px;
    min-height:46px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:.05rem;
    padding:.32rem .2rem;
    color:var(--rds-h-muted);
    background:var(--rds-h-surface);
    border:1px solid transparent;
    border-radius:10px;
    font-size:.65em;
    font-weight:750;
}
.rds-horoscope-sign-nav a span { color:var(--rds-h-accent); font-size:1.25em; line-height:1; }
.rds-horoscope-sign-nav a:hover,
.rds-horoscope-sign-nav a.is-active { color:var(--rds-h-accent); background:var(--rds-h-accent-soft); border-color:rgba(116,88,173,.18); }

.rds-horoscope-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; margin-top:.85rem; }
.rds-horoscope-card {
    scroll-margin-top:92px;
    min-width:0;
    padding:1rem;
    background:var(--rds-h-bg);
    border:1px solid var(--rds-h-border);
    border-radius:20px;
    box-shadow:var(--rds-h-shadow);
}
.rds-horoscope-card__head { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:.7rem; padding-bottom:.75rem; border-bottom:1px solid var(--rds-h-border); }
.rds-horoscope-card__symbol { display:grid; place-items:center; width:48px; height:48px; color:var(--rds-h-accent); background:var(--rds-h-accent-soft); border-radius:14px; font-size:1.45rem; }
.rds-horoscope-card__head > div > span { display:block; color:var(--rds-h-muted); font-size:.65em; }
.rds-horoscope-card__head h3 { display:inline; margin:0; font-size:1.08em; }
.rds-horoscope-card__head small { margin-right:.35rem; color:var(--rds-h-muted); font-size:.66em; }
.rds-horoscope-card__head > b { padding:.22rem .55rem; color:var(--rds-h-pink); background:var(--rds-h-pink-soft); border-radius:999px; font-size:.66em; white-space:nowrap; }
.rds-horoscope-card__overall { margin:.8rem 0; color:var(--rds-h-text); font-size:.84em; line-height:2; }
.rds-horoscope-sections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; }
.rds-horoscope-sections section { display:grid; grid-template-columns:auto 1fr; align-items:start; gap:.55rem; min-width:0; padding:.72rem; background:var(--rds-h-surface); border:1px solid var(--rds-h-border); border-radius:13px; }
.rds-horoscope-sections section > span { display:grid; place-items:center; width:29px; height:29px; color:var(--rds-h-accent); background:var(--rds-h-accent-soft); border-radius:9px; font-size:.82em; font-weight:900; }
.rds-horoscope-sections h4 { margin:0 0 .18rem; font-size:.74em; }
.rds-horoscope-sections p { margin:0; color:var(--rds-h-muted); font-size:.7em; line-height:1.85; }

.rds-horoscope-facts { display:grid; grid-template-columns:1.4fr .7fr 1fr; gap:.45rem; margin-top:.65rem; }
.rds-horoscope-facts > div { min-width:0; padding:.58rem .65rem; text-align:center; background:var(--rds-h-surface-2); border-radius:11px; }
.rds-horoscope-facts span { display:block; color:var(--rds-h-muted); font-size:.62em; }
.rds-horoscope-facts strong { display:block; margin-top:.12rem; overflow-wrap:anywhere; font-size:.76em; }
.rds-horoscope-facts i { display:block; height:5px; margin-top:.38rem; overflow:hidden; background:var(--rds-h-bg); border-radius:999px; }
.rds-horoscope-facts em { display:block; width:var(--rds-energy,50%); height:100%; background:linear-gradient(90deg,var(--rds-h-accent),var(--rds-h-pink)); border-radius:inherit; }
.rds-horoscope-card__actions { display:flex; gap:.45rem; margin-top:.65rem; }
.rds-horoscope-card__actions button { flex:1; min-height:37px; padding:.38rem .6rem; color:var(--rds-h-accent); background:var(--rds-h-accent-soft); border:1px solid rgba(116,88,173,.16); border-radius:10px; cursor:pointer; font-size:.68em; font-weight:800; }
.rds-horoscope-card__actions button:hover { filter:brightness(.97); }
.rds-horoscope-card__actions button.is-done { color:var(--rds-h-good); }
.rds-horoscope-note { margin-top:.85rem; padding:.85rem 1rem; color:var(--rds-h-muted); background:var(--rds-h-surface); border:1px solid var(--rds-h-border); border-radius:14px; }
.rds-horoscope-note strong { display:block; margin-bottom:.15rem; color:var(--rds-h-text); font-size:.75em; }
.rds-horoscope-note p { margin:0; font-size:.72em; line-height:1.85; }

html[data-theme="dark"] .rds-horoscope,
html.dark .rds-horoscope,
body.dark .rds-horoscope,
body.dark-mode .rds-horoscope,
body.theme-dark .rds-horoscope,
body.is-dark .rds-horoscope,
body[data-theme="dark"] .rds-horoscope,
body.roozaneh-dark .rds-horoscope,
body.dark-theme .rds-horoscope,
html[data-color-scheme="dark"] .rds-horoscope {
    --rds-h-bg:#1f2532;
    --rds-h-surface:#272f3f;
    --rds-h-surface-2:#2d3547;
    --rds-h-text:#f4f6fb;
    --rds-h-muted:#b7bfd1;
    --rds-h-border:rgba(255,255,255,.08);
    --rds-h-accent:#b5a0f1;
    --rds-h-accent-soft:rgba(181,160,241,.14);
    --rds-h-pink:#eca9c9;
    --rds-h-pink-soft:rgba(236,169,201,.12);
    --rds-h-good:#7bd0a8;
    --rds-h-shadow:none;
}

html[data-theme="dark"] .rds-horoscope-sign-nav,
html.dark .rds-horoscope-sign-nav,
body.dark .rds-horoscope-sign-nav,
body.dark-mode .rds-horoscope-sign-nav,
body.theme-dark .rds-horoscope-sign-nav,
body.is-dark .rds-horoscope-sign-nav,
body[data-theme="dark"] .rds-horoscope-sign-nav,
body.roozaneh-dark .rds-horoscope-sign-nav,
body.dark-theme .rds-horoscope-sign-nav,
html[data-color-scheme="dark"] .rds-horoscope-sign-nav { background:rgba(31,37,50,.94); }

@media (max-width:980px) {
    .rds-horoscope-sign-nav { grid-template-columns:repeat(12,72px); }
    .rds-horoscope-grid { grid-template-columns:1fr; }
}
@media (max-width:720px) {
    .rds-horoscope-hero { grid-template-columns:1fr; padding:1rem; border-radius:18px; }
    .rds-horoscope-date-card { width:100%; grid-template-columns:auto auto auto; justify-content:center; gap:.5rem; min-width:0; padding:.65rem; }
    .rds-horoscope-date-card strong { font-size:1.2rem; }
    .rds-horoscope-date-nav { display:grid; grid-template-columns:repeat(3,1fr); }
    .rds-horoscope-date-nav > a,
    .rds-horoscope-date-nav > span { padding:.35rem .25rem; text-align:center; }
    .rds-horoscope-date-nav form { grid-column:1/-1; display:grid; grid-template-columns:1fr auto; }
    .rds-horoscope-date-nav label { min-width:0; }
    .rds-horoscope-sign-nav { top:4px; grid-template-columns:repeat(12,66px); padding:.42rem; }
    .rds-horoscope-card { padding:.85rem; border-radius:16px; }
    .rds-horoscope-sections { grid-template-columns:1fr; }
    .rds-horoscope-facts { grid-template-columns:1fr 1fr; }
    .rds-horoscope-facts > div:first-child { grid-column:1/-1; }
}
@media (max-width:420px) {
    .rds-horoscope-card__head { grid-template-columns:auto 1fr; }
    .rds-horoscope-card__head > b { grid-column:2; justify-self:start; }
    .rds-horoscope-card__actions { flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) {
    .rds-horoscope * { scroll-behavior:auto!important; transition:none!important; }
}

/* v0.6.2: archive-rich horoscope */
.rds-horoscope-card__overall { font-size:.86em; line-height:2.12; }
.rds-horoscope-sections p { font-size:.72em; line-height:1.95; }
.rds-horoscope-section--advice { background:color-mix(in srgb,var(--rds-h-good) 7%,var(--rds-h-surface))!important; }
.rds-horoscope-section--advice > span { color:var(--rds-h-good)!important; background:color-mix(in srgb,var(--rds-h-good) 12%,transparent)!important; }
.rds-horoscope-section--warning { background:color-mix(in srgb,var(--rds-h-pink) 7%,var(--rds-h-surface))!important; }
.rds-horoscope-section--warning > span { color:var(--rds-h-pink)!important; background:var(--rds-h-pink-soft)!important; }
.rds-horoscope-facts { grid-template-columns:1.35fr .65fr 1fr 1fr; }
@media (max-width:720px) {
    .rds-horoscope-facts { grid-template-columns:1fr 1fr; }
    .rds-horoscope-facts > div:first-child { grid-column:1/-1; }
}


/* v0.6.3: keep the footer area of paired horoscope cards level */
.rds-horoscope-grid { align-items:stretch; }
.rds-horoscope-card {
    display:flex;
    height:100%;
    flex-direction:column;
}
.rds-horoscope-card__copy-source {
    display:flex;
    flex:1 1 auto;
    flex-direction:column;
}
.rds-horoscope-sections {
    align-content:start;
}
.rds-horoscope-facts {
    flex:0 0 auto;
    margin-top:auto;
}
.rds-horoscope-facts > div {
    display:flex;
    min-height:78px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}
.rds-horoscope-card__actions {
    flex:0 0 auto;
}
@media (max-width:980px) {
    .rds-horoscope-card { height:auto; }
    .rds-horoscope-facts { margin-top:.65rem; }
}

/* v0.7.0: daily / weekly / monthly horoscope navigation */
.rds-horoscope-type-nav {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    margin-bottom:.8rem;
    padding:.5rem;
    background:var(--rds-h-bg);
    border:1px solid var(--rds-h-border);
    border-radius:14px;
    box-shadow:var(--rds-h-shadow);
}
.rds-horoscope-type-nav a {
    min-width:118px;
    padding:.5rem .8rem;
    color:var(--rds-h-muted);
    background:var(--rds-h-surface);
    border:1px solid transparent;
    border-radius:10px;
    text-align:center;
    font-size:.73em;
    font-weight:800;
    text-decoration:none;
}
.rds-horoscope-type-nav a:hover,
.rds-horoscope-type-nav a[aria-current="page"] {
    color:var(--rds-h-accent);
    background:var(--rds-h-accent-soft);
    border-color:rgba(116,88,173,.18);
}
.rds-horoscope-date-card--period strong { font-size:1.08rem; }
.rds-horoscope--weekly .rds-horoscope-card__overall,
.rds-horoscope--monthly .rds-horoscope-card__overall { line-height:2.15; }
.rds-horoscope--weekly .rds-horoscope-sections p,
.rds-horoscope--monthly .rds-horoscope-sections p { line-height:2; }
.rds-horoscope-period-nav form { min-width:min(100%,330px); }
@media (max-width:720px) {
    .rds-horoscope-type-nav { justify-content:flex-start; overflow-x:auto; }
    .rds-horoscope-type-nav a { flex:1 0 110px; min-width:110px; }
    .rds-horoscope-date-card--period { grid-template-columns:1fr; text-align:center; }
    .rds-horoscope-period-nav form { min-width:0; }
}
