:root{color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:#0d0a1a;color:#e8e4f5;font-family:Georgia,Times New Roman,serif;line-height:1.6}.starfield{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.page{position:relative;z-index:1;max-width:640px;margin:0 auto;padding:2rem 1.2rem 4rem}h1{font-size:1.6rem;letter-spacing:.04em;color:#cbb8ff}h2{font-size:1.1rem;margin-top:2.2rem;color:#9f8fd4}.facts{background:#171130e0;border:1px solid #2d2352;border-radius:12px;padding:1rem 1.2rem;font-size:.95rem}.facts li{margin:.25rem 0}.interp p{margin:.8rem 0}.signs{display:grid;gap:.8rem;margin-top:1rem}.sign{background:#141026e0;border-left:3px solid #7a5fd0;border-radius:8px;padding:.7rem 1rem;transition:border-color .3s}.sign.picked{border-left-color:#e8a2a2}.sign b{color:#cbb8ff}.picker{margin-top:1rem;display:flex;flex-direction:column;gap:.7rem}select,button{font:inherit;padding:.6rem .8rem;border-radius:8px;border:1px solid #2d2352;background:#171130;color:#e8e4f5}button{background:#5b3fae;border:none;cursor:pointer}small.note{color:#8d83b8;display:block;margin-top:.5rem}nav{margin-bottom:1rem}nav a{color:#9f8fd4;margin-right:1rem}.privacy{font-size:.85rem;color:#8d83b8;margin-top:3rem;border-top:1px solid #2d2352;padding-top:1rem}.privacy-list li{margin:.5rem 0}.error{color:#e8a2a2}.note-stale{color:#e8a2a2;font-size:.9rem;margin:.3rem 0 .8rem}.note-now{color:#9f8fd4;font-size:.9rem;margin:.3rem 0 .8rem}.wheel{display:block;margin:1.5rem auto 0;max-width:320px;width:100%}.wheel-sign{fill:#9f8fd4;font-size:13px}.wheel-planet{fill:#e8e4f5;font-size:10px}.wheel-moon circle{animation:moon-glow 9s ease-in-out infinite}@keyframes moon-glow{0%,to{stroke-opacity:1}50%{stroke-opacity:.45}}@media (prefers-reduced-motion: reduce){.wheel-moon circle{animation:none}}.sharecard{margin-top:1rem}.sharecard-preview{display:block;width:100%;max-width:300px;margin:0 auto;border:1px solid #2d2352;border-radius:12px}.sharecard-actions{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}.sharecard-status{text-align:center;color:#9f8fd4;font-size:.9rem;margin:.6rem 0 0}
