.aspect-controls{width:min(300px,84vw);display:grid;grid-template-columns:1fr auto;gap:8px 12px;margin:4px 0 8px;text-align:left}
.aspect-controls>label:first-child{grid-column:1/-1;font-size:12px;color:var(--gold-soft);letter-spacing:0}
.aspect-controls select{min-width:0;width:100%;min-height:44px;border:1px solid var(--line);border-radius:6px;background:#171424;color:var(--gold-soft);padding:8px;font:inherit;font-size:14px}
.aspect-motion{display:flex;align-items:center;gap:6px;font-size:12px;letter-spacing:0;color:var(--gold-soft);cursor:pointer}
.aspect-motion input{width:18px;height:18px;margin:0;accent-color:#65d6ca}
.aspect-status{grid-column:1/-1;min-height:5.5em;margin:0;font-size:12px;line-height:1.6;color:var(--gold-soft);overflow-wrap:anywhere}
.aspect-source{fill:#e6b955;fill-opacity:.22;stroke:#e6b955;stroke-width:1.6}
.aspect-target{fill:#65d6ca;fill-opacity:.18;stroke:#65d6ca;stroke-width:1.6}
.aspect-ray{fill:none;stroke:#65d6ca;stroke-width:1.8;stroke-linecap:round}
.aspect-ray.is-animated{stroke-dasharray:7 5;animation:aspect-flow 1.2s linear infinite}
#chart text{paint-order:stroke;stroke:#15121c;stroke-width:2px;stroke-linejoin:round}
#chart [data-aspect-planet]{cursor:pointer;pointer-events:all}
#chart [data-aspect-planet][aria-pressed=true]{fill:#fff;font-weight:700;text-decoration:underline}
#chart [data-aspect-planet]:focus-visible{outline:2px solid #65d6ca;outline-offset:3px}
@keyframes aspect-flow{to{stroke-dashoffset:-24}}
@media(prefers-reduced-motion:reduce){.aspect-ray.is-animated{animation:none;stroke-dasharray:none}}
@media print{.aspect-controls,.aspect-layer{display:none!important}}
