.ha-top .field { width: 150px; }
.ha-stage { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 16px; }
.ha-peg { position: relative; height: 240px; background: none; border: 0; border-radius: var(--r-md); cursor: pointer; display: flex; flex-direction: column-reverse; align-items: center; padding: 0 0 26px; font: inherit; }
.ha-peg:hover { background: var(--soft-2); }
.ha-peg.sel { background: var(--soft-2); box-shadow: inset 0 0 0 2px var(--ink); }
.ha-peg::before { content: ""; position: absolute; left: 50%; bottom: 22px; top: 12px; width: 6px; margin-left: -3px; background: var(--ink); border-radius: 3px; }
.ha-peg::after { content: ""; position: absolute; left: 6%; right: 6%; bottom: 18px; height: 6px; background: var(--ink); border-radius: 3px; }
.ha-peg b { position: absolute; bottom: 0; font-family: var(--mono); font-size: 12px; font-weight: 400; color: var(--muted); }
.ha-disk { position: relative; z-index: 1; height: 18px; border-radius: 9px; margin-top: 2px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.25); }
.ha-disk.lift { transform: translateY(-14px); }
.ha-ctrl { justify-content: center; }
.ha-step { text-align: center; font-family: var(--mono); font-size: 14px; color: var(--muted); margin: 8px 0 0; min-height: 1.5em; }
.ha .split > *, .ha .panel { min-width: 0; }
