#ans-nsf{--ans-accent:#0ea5e9; --ans-bg:#f8fafc; font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;}
#ans-nsf .ans-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;box-shadow:0 4px 14px rgba(0,0,0,.05)}
#ans-nsf h3{margin:.25rem 0;font-size:1.1rem}
#ans-nsf .ans-row{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:800px){#ans-nsf .ans-row{grid-template-columns:1.1fr .9fr}}
#ans-nsf label{display:block;font-weight:600;margin:.25rem 0}
#ans-nsf input, #ans-nsf select{width:100%;padding:.6rem .7rem;border:1px solid #cbd5e1;border-radius:12px}
#ans-nsf button{background:var(--ans-accent);color:#fff;border:0;border-radius:12px;padding:.7rem 1rem;font-weight:700;cursor:pointer}
#ans-nsf .ans-form{background:var(--ans-bg);border:1px solid #e5e7eb;border-radius:16px;padding:16px}
#ans-nsf .ans-results{display:grid;gap:12px;margin-top:14px}
#ans-nsf .ans-meta{color:#475569;font-size:.9rem}
#ans-nsf .ans-badge{display:inline-block;background:#e0f2fe;color:#075985;border-radius:999px;padding:.15rem .6rem;font-size:.78rem;margin-right:.35rem}
#ans-nsf .ans-map{height:420px;border-radius:16px;overflow:hidden;border:1px solid #e5e7eb}
#ans-nsf .ans-error{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:12px;padding:10px}
#ans-nsf .ans-success{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0;border-radius:12px;padding:10px}
#ans-nsf .ans-note{color:#334155;font-size:.9rem}
#ans-nsf .ans-spinner{display:inline-block;width:18px;height:18px;border:3px solid #93c5fd;border-top-color:transparent;border-radius:50%;animation:ansspin 1s linear infinite;vertical-align:-3px;margin-right:8px}
@keyframes ansspin{to{transform:rotate(360deg)}}