:root {
    --astro-bg: #f7f1e4;
    --astro-text: #2d241a;
    --astro-muted: #786754;
    --astro-accent: #a34225;
    --astro-accent-dark: #7a2418;
    --astro-line: #ddcdb5;
    --astro-panel: rgba(255, 250, 243, .97);
    --astro-shadow: 0 16px 38px rgba(73, 49, 24, .12);
}
* { box-sizing: border-box; }
body {
    margin: 0;
    min-height: 100vh;
    color: var(--astro-text);
    font-family: Georgia, "Times New Roman", serif;
    background:
        radial-gradient(circle at 10% 5%, rgba(163, 66, 37, .14), transparent 28%),
        radial-gradient(circle at 92% 12%, rgba(211, 161, 79, .16), transparent 25%),
        linear-gradient(135deg, #f8f2e8, #efe3d0);
}
.astronomy-page {
    width: min(1500px, calc(100% - 32px));
    margin: 0 auto;
    padding: 34px 0 48px;
}
.astronomy-page .eyebrow { color: var(--astro-accent); font-size: .76rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.astronomy-page h1 { margin: 7px 0 8px; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1; }
.astronomy-page .subtitle { max-width: 760px; margin: 0; color: var(--astro-muted); line-height: 1.6; }
.astronomy-page .panel {
    margin-top: 24px;
    padding: 24px;
    border: 1px solid rgba(159, 115, 60, .22);
    border-radius: 22px;
    background: var(--astro-panel);
    box-shadow: var(--astro-shadow);
}
.astronomy-page .nav { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0; }
.astronomy-page .nav a { border: 1px solid rgba(163, 66, 37, .3); border-radius: 999px; padding: 9px 14px; color: var(--astro-accent); background: #fffaf3; font-size: .86rem; font-weight: 700; text-decoration: none; transition: background .18s ease, color .18s ease; }
.astronomy-page .nav a:hover, .astronomy-page .nav a.active { color: #fffaf3; background: var(--astro-accent); }
.astronomy-filter form { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; }
.astronomy-filter label { display: grid; gap: 5px; min-width: 170px; color: var(--astro-muted); font-size: .8rem; font-weight: 700; }
.astronomy-filter select, .astronomy-filter button { min-height: 40px; border: 1px solid rgba(163, 66, 37, .25); border-radius: 10px; padding: 9px 11px; background: #fffdf8; color: var(--astro-text); font: inherit; }
.astronomy-filter button { color: #fffaf3; background: var(--astro-accent); cursor: pointer; font-weight: 700; }
.astronomy-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 16px 0; }
.astronomy-summary div { display: grid; gap: 3px; padding: 15px; border: 1px solid rgba(163, 66, 37, .15); border-radius: 14px; background: linear-gradient(135deg, #fffaf1, #f2e3ca); }
.astronomy-summary strong { color: var(--astro-accent); font: 700 1.2rem Georgia, serif; }
.astronomy-summary span, .astronomy-table small { color: var(--astro-muted); font-size: .78rem; }
.table-scroll { overflow-x: auto; border: 1px solid var(--astro-line); border-radius: 15px; }
.astronomy-table { width: 100%; min-width: 1000px; border-collapse: collapse; }
.astronomy-table th, .astronomy-table td { padding: 13px 12px; border-bottom: 1px solid var(--astro-line); text-align: left; vertical-align: top; }
.astronomy-table th { position: sticky; top: 0; z-index: 1; color: #fffaf3; background: var(--astro-accent-dark); font-size: .78rem; letter-spacing: .03em; text-transform: uppercase; white-space: nowrap; }
.astronomy-table td { line-height: 1.45; }
.astronomy-table td strong, .astronomy-table td span, .astronomy-table td small { display: block; }
.astronomy-table a { color: var(--astro-accent); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.astronomy-table tr:hover td { background: #fff9ed; }
.event-badge { display: inline-block !important; width: fit-content; margin-bottom: 6px; padding: 5px 8px; border-radius: 999px; font-weight: 700; }
.event-badge.solar { color: #8a3e1e; background: #f9d9a7; }
.event-badge.lunar { color: #34516d; background: #dbe7f4; }
.visibility.visible { color: #21734b; }
.visibility.below { color: #a33d2d; }
.astronomy-note { margin-top: 16px; }
.astronomy-note h2 { margin-top: 0; font: 700 1.2rem Georgia, serif; }
.astronomy-note p { color: var(--astro-muted); line-height: 1.65; }
.astronomy-note a { color: var(--astro-accent); font-weight: 700; }
.empty { padding: 28px !important; color: var(--astro-muted); text-align: center !important; }
@media (max-width: 680px) {
    .astronomy-page { width: min(100% - 20px, 1500px); padding-top: 24px; }
    .astronomy-page .panel { padding: 14px; border-radius: 16px; }
    .astronomy-page .nav a { flex: 1 1 calc(50% - 10px); text-align: center; }
    .astronomy-filter form { display: grid; grid-template-columns: 1fr 1fr; }
    .astronomy-filter label { min-width: 0; }
    .astronomy-filter label:last-of-type, .astronomy-filter button { grid-column: 1 / -1; }
    .astronomy-summary { grid-template-columns: 1fr; }
}
