.ha-search { margin-top:2rem; padding:1.5rem; border:1px solid rgba(185,193,255,.22); border-radius:1.5rem; background:linear-gradient(120deg,rgba(106,117,238,.14),rgba(255,255,255,.025)); }
.ha-search h2 { margin:0; font-size:1.25rem; letter-spacing:-.025em; }
.ha-description { margin-top:.5rem; color:#b8bdcf; font-size:.875rem; line-height:1.7; }
.ha-form { display:flex; gap:.75rem; margin-top:1.25rem; }
.ha-label { flex:1; min-width:0; }
.ha-label span { display:block; margin-bottom:.5rem; font-size:.8125rem; color:#d7daf0; }
.ha-label input { display:block; width:100%; min-height:3.25rem; border:1px solid #555d83; border-radius:.875rem; background:#171a2c; padding:.875rem 1rem; color:#fff; font:inherit; font-size:1rem; }
.ha-label input::placeholder { color:#8991ab; }
.ha-label input:focus-visible,.ha-search button:focus-visible,.ha-search a:focus-visible { outline:3px solid #b9c0ff; outline-offset:3px; }
.ha-submit { align-self:flex-end; min-height:3.25rem; padding:.875rem 1.375rem; border-radius:.875rem; background:#c3c9ff; color:#171a2c; font-weight:700; white-space:nowrap; }
.ha-submit:hover { background:#d9ddff; }
.ha-submit:disabled { opacity:.55; cursor:wait; }
.ha-status { margin-top:.875rem; color:#c8cde0; font-size:.875rem; line-height:1.6; }
.ha-status:empty { display:none; }
.ha-results { list-style:none; padding:0; margin:1rem 0 0; display:grid; gap:.5rem; }
.ha-results button { display:block; width:100%; text-align:left; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.12); border-radius:.875rem; padding:.875rem 1rem; }
.ha-results button:hover { background:rgba(195,201,255,.12); }
.ha-results strong { display:block; font-size:.9375rem; }
.ha-results small { display:block; color:#b8bdcf; margin-top:.3rem; }
.ha-result { margin-top:1.25rem; padding:1.25rem; border:1px solid #67718e; background:#1c2233; border-radius:1rem; }
.ha-result[data-status="available"] { border-color:#70dcb4; background:rgba(65,181,139,.09); }
.ha-result[data-status="restricted"] { border-color:#f4a1ac; background:rgba(244,161,172,.07); }
.ha-result h3 { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; font-size:1.25rem; }
.ha-result[data-status="available"] h3 { color:#95f2cd; }
.ha-result[data-status="restricted"] h3 { color:#ffb9c2; }
.ha-result p { margin-top:.625rem; font-size:.9rem; line-height:1.7; color:#d0d6e7; overflow-wrap:anywhere; }
.ha-result dl { display:grid; grid-template-columns:5.25rem 1fr; gap:.75rem 1rem; margin-top:1rem; font-size:.875rem; line-height:1.6; }
.ha-result dt { color:#9ea9c6; }
.ha-result dd { margin:0; min-width:0; }
.ha-neighbors { list-style:none; display:flex; flex-wrap:wrap; gap:.375rem; padding:0; }
.ha-neighbors li { padding:.2rem .5rem; background:rgba(255,255,255,.07); border-radius:.375rem; }
.ha-neighbors li[data-registered="true"] { color:#ffb9c2; border:1px solid rgba(244,161,172,.35); }
.ha-result-footer { display:flex; flex-wrap:wrap; gap:.875rem; align-items:center; margin-top:1.25rem; }
.ha-contact { display:inline-flex; padding:.75rem 1rem; border-radius:.75rem; background:#c3c9ff; color:#171a2c; font-size:.875rem; font-weight:700; }
.ha-clear { padding:.5rem; color:#c6ccdf; text-decoration:underline; text-underline-offset:4px; font-size:.875rem; }
.ha-note { color:#9fa9c2; margin-top:1rem; font-size:.75rem; line-height:1.7; }
.hm-search-layer { pointer-events:none; }
.hm-search-neighbor { fill:#6bdab0; fill-opacity:.13; stroke:#6bdab0; stroke-width:calc(1.4 * var(--z)); stroke-opacity:.85; }
.hm-search-selected { fill:#6bdab0; fill-opacity:.46; stroke:#baffde; stroke-width:calc(2.4 * var(--z)); }
.hm-search-registered { fill:#f29aaa; fill-opacity:.45; stroke:#ffd4da; stroke-width:calc(2.2 * var(--z)); }
@media(max-width:639px) { .ha-search { padding:1rem; } .ha-form { flex-direction:column; } .ha-submit { width:100%; } .ha-result { padding:1rem; } .ha-result dl { grid-template-columns:1fr; gap:.375rem; } .ha-result dd { margin-bottom:.5rem; } }
