/* VESTA astrology: natal wheel, monthly boxes, admin blog queue. Hairlines, serif headings, no ornament. */
.astro-chart, .astro-box { border: 1px solid rgba(0, 0, 0, 0.08); box-shadow: none; border-radius: 4px; }
.astro-chart::before, .astro-box::before { display: none; }
.astro-chart { display: grid; grid-template-columns: minmax(260px, 420px) 1fr; gap: 36px; align-items: start; margin-bottom: 16px; }
.astro-wheel { width: 100%; height: auto; display: block; color: var(--text-main); }
.astro-wheel .w-line { stroke: currentColor; stroke-width: 0.6; fill: none; opacity: 0.55; }
.astro-wheel .w-faint { opacity: 0.22; }
.astro-wheel .w-house { opacity: 0.25; stroke-dasharray: 2 3; }
.astro-wheel .w-axis { stroke: currentColor; stroke-width: 0.9; opacity: 0.75; }
.astro-wheel .w-dot { fill: currentColor; }
.astro-wheel .w-sign { font-family: 'Noto Sans Symbols', 'Apple Symbols', 'Segoe UI Symbol', 'DejaVu Sans', serif; font-size: 14px; fill: currentColor; opacity: 0.7; }
.astro-wheel .w-glyph { font-family: 'Noto Sans Symbols', 'Apple Symbols', 'Segoe UI Symbol', 'DejaVu Sans', serif; font-size: 15px; fill: currentColor; }
.astro-wheel .w-deg { font-family: var(--font-sans); font-size: 8.5px; fill: var(--text-muted); font-variant-numeric: tabular-nums; }
.astro-wheel .w-rx { font-size: 7px; font-style: italic; }
.astro-wheel .approx .w-glyph { opacity: 0.55; }
.astro-wheel .w-house-num { font-family: var(--font-sans); font-size: 8px; fill: var(--text-light); }
.astro-wheel .w-aspect { stroke-width: 0.6; opacity: 0.6; }
.astro-wheel .w-aspect.hard { stroke: #8c3b2e; }
.astro-wheel .w-aspect.soft { stroke: #2f5d7c; stroke-dasharray: 3 2; }
.astro-wheel .w-empty { font-family: var(--font-serif); font-size: 14px; fill: var(--text-muted); }
.astro-wheel.empty .w-line { opacity: 0.3; }
.astro-wheel.empty .w-sign { opacity: 0.35; }

.astro-kicker { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--text-muted); margin: 0 0 10px; }
.astro-h { font-family: var(--font-serif); font-weight: 400; font-size: 30px; line-height: 1.12; letter-spacing: -0.01em; margin: 0 0 8px; }
.astro-h3 { font-family: var(--font-serif); font-weight: 400; font-size: 22px; line-height: 1.2; margin: 0 0 8px; }
.astro-points { list-style: none; padding: 0; margin: 18px 0; border-top: 1px solid rgba(0, 0, 0, 0.08); }
.astro-points li { display: grid; grid-template-columns: 26px 1fr auto 70px; gap: 8px; padding: 7px 0; border-bottom: 1px solid rgba(0, 0, 0, 0.06); font-size: 14px; align-items: baseline; }
.astro-points li .muted { text-align: right; font-size: 12px; }
.astro-points abbr { text-decoration: none; color: var(--text-muted); font-style: italic; }
.astro-g { font-family: 'Noto Sans Symbols', 'Apple Symbols', 'Segoe UI Symbol', 'DejaVu Sans', serif; font-size: 15px; }
.astro-form { margin-top: 16px; max-width: 460px; }
.astro-form .field input { border-radius: 4px; }
.astro-precise, .astro-manual { margin: 4px 0 14px; }
.astro-precise > summary, .astro-manual > summary { cursor: pointer; font-size: 13px; font-weight: 500; margin-bottom: 10px; list-style: none; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(0, 0, 0, 0.25); }
.astro-precise > summary::-webkit-details-marker, .astro-manual > summary::-webkit-details-marker { display: none; }
.astro-city { position: relative; }
.astro-suggest { position: absolute; z-index: 5; top: 100%; left: 0; right: 0; background: #fff; border: 1px solid rgba(0, 0, 0, 0.12); max-height: 240px; overflow: auto; }
.astro-suggest button { display: block; width: 100%; text-align: left; border: 0; background: transparent; padding: 9px 12px; font-size: 14px; border-bottom: 1px solid rgba(0, 0, 0, 0.05); }
.astro-suggest button:hover, .astro-suggest button:focus { background: var(--panel-bg); }
.astro-suggest p { padding: 9px 12px; margin: 0; }
.astro-grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.astro-error { color: #8c3b2e; }

.astro-boxes { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin: 0 0 24px; }
.astro-box { padding: 26px 28px; }
.astro-box p { line-height: 1.55; }
.astro-label { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-muted); margin: 16px 0 6px; }
.astro-list { margin: 0; padding-left: 18px; font-size: 14px; line-height: 1.6; }
.astro-list.plain { list-style: none; padding: 0; }
.astro-list.plain li { padding: 8px 0; border-bottom: 1px solid rgba(0, 0, 0, 0.06); }
.astro-bigdate { display: flex; align-items: center; gap: 14px; margin: 4px 0 14px; }
.astro-bigdate strong { font-family: var(--font-serif); font-weight: 400; font-size: 76px; line-height: 0.9; letter-spacing: -0.03em; }
.astro-bigdate span { font-size: 13px; color: var(--text-muted); line-height: 1.4; }
.astro-heavy-head { display: flex; gap: 14px; align-items: center; margin-bottom: 8px; }
.astro-cal { width: 52px; flex: none; border: 1px solid rgba(0, 0, 0, 0.18); text-align: center; border-radius: 3px; overflow: hidden; }
.astro-cal span { display: block; font-size: 9px; letter-spacing: 0.14em; padding: 3px 0; border-bottom: 1px solid rgba(0, 0, 0, 0.18); color: var(--text-muted); }
.astro-cal strong { display: block; font-family: var(--font-serif); font-weight: 400; font-size: 24px; padding: 4px 0 5px; }
.astro-lunars { list-style: none; margin: 0; padding: 0; }
.astro-lunar { display: grid; grid-template-columns: 26px 1fr; gap: 14px; padding: 12px 0; border-bottom: 1px solid rgba(0, 0, 0, 0.06); }
.astro-lunar:last-child { border-bottom: 0; }
.astro-lunar p { margin: 2px 0 6px; }
.astro-moon { width: 20px; height: 20px; border-radius: 50%; border: 1px solid var(--text-main); margin-top: 22px; }
.astro-moon.full { background: transparent; }
.astro-moon.new { background: var(--text-main); }
.astro-ritual { font-weight: 500; }
.astro-more { font-size: 13px; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(0, 0, 0, 0.3); }
.astro-rituals { grid-column: span 1; }
.astro-progress-row { display: flex; gap: 20px; align-items: center; }
.astro-steps { list-style: none; margin: 0; padding: 0; font-size: 14px; line-height: 1.8; color: var(--text-muted); }
.astro-steps li.done { color: var(--text-main); }
.astro-steps span { font-size: 9px; vertical-align: 2px; margin-right: 4px; }

.astro-admin-bar { align-items: flex-end; margin: 12px 0 6px; }
.field.inline { margin: 0; }
.astro-queue td { vertical-align: top; }
.astro-actions { min-width: 340px; }
.astro-sched { display: flex; gap: 6px; align-items: center; margin-top: 8px; }
.astro-sched input { border: 1px solid rgba(0, 0, 0, 0.12); border-radius: 4px; padding: 6px 8px; font-size: 13px; }
.astro-editor { border: 1px solid rgba(0, 0, 0, 0.1); box-shadow: none; border-radius: 4px; margin: 16px 0; }
.astro-editor textarea { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; }
.astro-preview { width: min(96vw, 1000px); height: 88vh; border: 1px solid rgba(0, 0, 0, 0.15); padding: 12px; }
.astro-preview iframe { width: 100%; height: calc(100% - 48px); border: 0; margin-top: 8px; }

@media (max-width: 760px) {
  .astro-chart { grid-template-columns: 1fr; gap: 18px; padding: 20px; }
  .astro-boxes { grid-template-columns: 1fr; }
  .astro-grid3 { grid-template-columns: 1fr; }
  .astro-points li { grid-template-columns: 24px 1fr auto; }
  .astro-points li .muted { display: none; }
}
