/* Solar ephemeris: readable cards and a monthly table, with no external assets. */
.solar-location{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.solar-location h3{overflow-wrap:anywhere;font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.25;margin:4px 0 9px}.solar-location p{font-size:14px;line-height:1.7;margin:0;color:var(--muted)}.solar-location .solar-eyebrow{font-size:12px;color:var(--coral-dark);letter-spacing:.08em;text-transform:uppercase;font-weight:600}.solar-location>.inline-button{flex-shrink:0}
.solar-controls{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:8px}.solar-controls form{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.solar-controls label{display:grid;gap:6px;font-size:14px;font-weight:550}.solar-controls input{min-height:42px;padding:8px 10px;font-family:var(--sans);font-size:16px;color:var(--ink);border:1px solid var(--line);border-radius:5px;background:#fff;min-width:175px;max-width:100%}.solar-controls .primary-button,.solar-today{min-height:42px;font-size:14px}.solar-today{border:1px solid var(--line);border-radius:5px;padding:8px 14px;background:#fff;color:var(--ink)}.solar-status{font-size:14px;color:#943820;margin:0 0 12px;line-height:1.7}.solar-status:empty{display:none}
.solar-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}.solar-summary article{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px;min-width:0}.solar-summary article>span{display:block;font-size:14px;color:var(--muted);line-height:1.5}.solar-summary strong{display:block;font-size:29px;line-height:1.3;font-weight:600;color:var(--ink);margin-top:8px;font-variant-numeric:tabular-nums;white-space:nowrap}.solar-day-note{font-size:14px;line-height:1.7;color:var(--muted);margin:14px 0 25px}
.solar-month-navigation{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:28px 0 15px}.solar-month-navigation h3{font-family:var(--serif);font-size:28px;font-weight:400;margin:0;text-align:center}.solar-month-button{min-height:42px;border:1px solid var(--line);border-radius:5px;background:#fff;padding:9px 12px;font-size:14px;color:var(--ink)}.solar-month-button:disabled{opacity:.5;cursor:default}
.solar-table-scroll{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:7px;background:#fff}.solar-table{border-collapse:collapse;width:100%;min-width:530px;font-size:14px;font-variant-numeric:tabular-nums;text-align:left}.solar-table th,.solar-table td{padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap}.solar-table thead th{font-weight:650;background:#edf1f3}.solar-table tbody th{font-weight:550}.solar-table tbody tr:last-child>*{border-bottom:0}.solar-table tbody tr:nth-child(even){background:#f8fafb}.solar-table tr.is-selected{background:#fff1e7!important}.solar-table tr.is-selected th{box-shadow:inset 3px 0 var(--coral)}.solar-table th small{display:block;font-weight:400;font-size:12px;line-height:1.5;color:var(--muted);margin-top:3px}.solar-source{font-size:13px;line-height:1.9;color:var(--muted);max-width:1000px;margin:17px 0 0}.solar-source a{color:var(--coral-dark);text-decoration:underline;text-underline-offset:3px}
.solar-empty{padding:30px;border:1px solid var(--line);border-radius:8px;background:#fff;max-width:700px}.solar-empty-icon{font-size:34px;color:#956000}.solar-empty h3{font-family:var(--serif);font-size:29px;font-weight:400;margin:12px 0}.solar-empty p{font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 20px}.solar-empty .primary-button{font-size:14px;min-height:42px}
.solar-controls :focus-visible,.solar-today:focus-visible,.solar-month-button:focus-visible,.solar-table-scroll:focus-visible{outline:3px solid #126589;outline-offset:3px}
@media(max-width:850px){.solar-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.solar-location{align-items:flex-start}.solar-location h3{font-size:25px}}
@media(max-width:650px){.solar-location{display:block;margin-bottom:20px}.solar-location>.inline-button{margin-top:12px}.solar-location h3{font-size:24px}.solar-location p{font-size:13px}.solar-controls{gap:9px}.solar-controls form{flex:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.solar-controls label{min-width:0;font-size:13px}.solar-controls input{width:100%;min-width:0;font-size:16px}.solar-controls .primary-button,.solar-today{font-size:13px}.solar-summary{gap:10px}.solar-summary article{padding:15px 12px}.solar-summary article>span{font-size:13px}.solar-summary strong{font-size:24px;white-space:normal}.solar-day-note{font-size:13px}.solar-month-navigation{gap:8px}.solar-month-navigation h3{font-size:25px}.solar-month-button{width:42px;padding:8px;font-size:18px}.solar-month-button>span{display:none}.solar-table th,.solar-table td{padding:11px 13px}.solar-source{font-size:13px}.solar-empty{padding:23px}.solar-empty h3{font-size:26px}.solar-empty p{font-size:14px}}
@media print{.solar-controls,.solar-month-button,.solar-location>.inline-button,.solar-empty .primary-button{display:none!important}.solar-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.solar-summary article{padding:10px}.solar-summary strong{font-size:20px}.solar-table-scroll{overflow:visible}.solar-table{min-width:0;font-size:10px}.solar-table th,.solar-table td{padding:5px 8px}.solar-source{font-size:9px}.solar-month-navigation h3{font-size:22px}}
