/* Sternzeichen-Rechner */
.st > * + * { margin-top: 1.1rem; }
.st-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 0.8rem 1.1rem; align-items: start; }
.st-form .hint { margin: 0.3rem 0 0; }
.st-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); gap: 0.9rem; }
.st-card { padding: 0.9rem 1rem 1rem; border: 1px solid var(--line); border-radius: var(--r); background: var(--card); display: flex; flex-direction: column; gap: 0.35rem; min-width: 0; }
.st-card.is-cusp { border-color: var(--warn, #c98a00); }
.st-sys { margin: 0; font: 600 0.8rem/1.3 var(--font); text-transform: uppercase; letter-spacing: 0.04em; color: var(--muted); }
.st-main { margin: 0; font-size: 1.45rem; font-weight: 700; line-height: 1.25; color: var(--accent); overflow-wrap: anywhere; }
.st-sub { margin: 0; font-style: italic; }
.st-dl { display: grid; grid-template-columns: auto 1fr; gap: 0.15rem 0.7rem; margin: 0.35rem 0 0; font-size: 0.9rem; }
.st-dl dt { color: var(--muted); }
.st-dl dd { margin: 0; overflow-wrap: anywhere; }
.st-note { margin: 0.35rem 0 0; font-size: 0.85rem; color: var(--muted); }
.st-card.is-cusp .st-note { color: inherit; padding: 0.45rem 0.6rem; border-radius: var(--r-s); background: var(--warn-soft, #fff4d6); }
.st-more { border: 1px solid var(--line); border-radius: var(--r); background: var(--paper, transparent); }
.st-more > summary { cursor: pointer; padding: 0.7rem 1rem; font-weight: 600; }
.st-place { padding: 0 1rem 1rem; }
.st-place > * + * { margin-top: 0.8rem; }
.st-search { position: relative; }
.st-sugg { position: absolute; z-index: 20; left: 0; right: 0; top: 100%; margin: 0.2rem 0 0; padding: 0.25rem; list-style: none; background: var(--card); border: 1px solid var(--line); border-radius: var(--r-s); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); max-height: 18rem; overflow: auto; }
.st-sugg-btn { display: block; width: 100%; text-align: left; padding: 0.5rem 0.65rem; border: 0; border-radius: var(--r-s); background: transparent; color: inherit; font: inherit; cursor: pointer; }
.st-sugg-btn:hover, .st-sugg-btn:focus { background: var(--accent-soft); outline: none; }
.st-sugg-msg { padding: 0.5rem 0.65rem; color: var(--muted); font-size: 0.9rem; }
.st-coords { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: 0.8rem 1.1rem; }
.st-place .hint { margin-top: 0.7rem; }
.st-card.is-asc { border-color: var(--accent); }
