.public-map{position:relative}
.public-map-tooltip{position:absolute;z-index:5;max-width:220px;padding:8px 11px;border-radius:8px;background:#08251ee8;color:#fff;font-size:12px;font-weight:700;pointer-events:none;box-shadow:0 8px 24px #08251e38}
.status-explanation{margin-top:20px;border-top:1px solid var(--line);padding-top:14px}
.status-explanation summary{cursor:pointer;color:var(--green);font-weight:800}
#status-records{display:grid;gap:9px;margin-top:12px}
#status-records>p{margin:0;color:var(--muted);font-size:13px}
.public-record-card{padding:11px;border:1px solid var(--line);border-radius:9px;background:#f8faf8}
.public-record-card strong,.public-record-card p,.public-record-card small{display:block}
.public-record-card p{margin:4px 0;font-size:13px}
.public-record-card small{color:var(--muted);font-size:11px}
.compare-panel,.layer-availability{margin-top:20px;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff}
.compare-panel h3,.layer-availability h3{margin:0;color:var(--navy);font-size:24px}
.compare-panel>div:first-child>p:last-child{margin:7px 0 0;color:var(--muted)}
.compare-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}
.compare-controls label{display:grid;gap:7px;font-size:12px;font-weight:800;color:var(--muted)}
.compare-controls select{height:46px;padding:0 12px;border:1px solid #bdcec5;border-radius:9px;background:#fff;color:var(--ink)}
.compare-results{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.compare-results article{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 14px;padding:18px;border-radius:12px;background:#f2f7f4}
.compare-results article>strong{font-size:18px}.compare-score{font-size:25px;font-weight:800;color:var(--navy)}
.compare-results small{color:var(--muted)}.compare-results .status-label{justify-self:end}
.layer-statuses{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}
.layer-statuses span{padding:8px 11px;border-radius:30px;background:#edf1ef;color:#53675f;font-size:12px;font-weight:700}
.layer-statuses .connected{background:#dff2e6;color:#1d6845}
@media(max-width:650px){.compare-controls,.compare-results{grid-template-columns:1fr}.compare-results article{grid-template-columns:1fr}.compare-results .status-label{justify-self:start}.compare-panel,.layer-availability{padding:18px}}
