/* Web SDR list (websdr.html) */
.ws-intro { padding: 2rem 0 .5rem; }
.ws-intro h1 { margin: 0 0 .4rem; }
.ws-intro p { color: var(--ink-2); max-width: 46rem; }
.ws-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .6rem 1rem; margin: 1rem 0 0; align-items: end; }
.ws-filters label { display: flex; flex-direction: column; gap: .25rem; font-size: .85rem; color: var(--ink-2); }
.ws-filters label.tick { flex-direction: row; align-items: center; gap: .5rem; color: var(--ink); padding-bottom: .5rem; }
.ws-filters input[type=text], .ws-filters select { font: inherit; padding: .45rem .55rem; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); color: var(--ink); }
.ws-sec { padding: 1rem 0; }
.ws-map { height: 340px; border-radius: var(--radius); border: 1px solid var(--line); background: var(--surface-2); z-index: 0; }
.ws-count { color: var(--ink-2); margin: .8rem 0; }
.ws-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1rem; }
.ws-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 1rem 1.1rem; box-shadow: var(--shadow-sm); display: flex; flex-direction: column; gap: .45rem; }
.ws-card h3 { margin: 0; font-size: 1.1rem; display: flex; justify-content: space-between; gap: .5rem; align-items: baseline; }
.ws-card h3 .call { font-family: var(--mono); color: var(--cq); }
.ws-card .where, .ws-card .detail { color: var(--ink-2); font-size: .9rem; margin: 0; }
.ws-card .bands { display: flex; flex-wrap: wrap; gap: .3rem; }
.ws-card .bands span { font-size: .78rem; padding: .1rem .45rem; border-radius: 99px; border: 1px solid var(--line); color: var(--ink-2); }
.ws-card .bands span.hit { border-color: var(--cq); color: var(--cq); }
.ws-card .foot { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: .3rem; }
.ws-card .room { font-size: .88rem; }
.ws-card .room.full { color: var(--fault); }
.ws-card .room.open { color: var(--ok); }
.ws-card a.listen { background: var(--cq); color: #fff; padding: .45rem 1rem; border-radius: 99px; text-decoration: none; font-weight: 600; }
.ws-card a.listen.full { background: var(--idle); }
.ws-host p { color: var(--ink-2); max-width: 46rem; }
.leaflet-popup-content a { color: var(--cq-deep); }
.ws-download { display: flex; flex-wrap: wrap; gap: .8rem 1.2rem; align-items: center; margin: 1rem 0; }
.ws-download span { color: var(--ink-2); font-size: .88rem; }
.ws-download code, .ws-steps code { font-family: var(--mono); font-size: .85em; word-break: break-all; }
.ws-get { background: var(--cq); color: #fff; padding: .6rem 1.3rem; border-radius: 99px; text-decoration: none; font-weight: 600; }
.ws-steps { color: var(--ink-2); max-width: 46rem; padding-left: 1.2rem; }
.ws-steps li { margin: .3rem 0; }
.ws-note { font-size: .88rem; }
