:root{--ink:#172b43;--muted:#68798c;--blue:#1764ad;--border:#dce4ed}body{background:#f4f7fb;color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px}.hp-nav{background:#132c46;padding:16px 24px}.navbar-brand{font-weight:700}.navbar-brand small{display:block;font-size:11px;font-weight:400;color:#bfcede;letter-spacing:.07em}.hp-nav .nav-link{font-size:14px;margin-left:8px}.hp-main{max-width:1260px;margin:auto;padding:36px 24px 48px}.hp-heading{margin-bottom:26px}.hp-heading h1{font-size:30px;font-weight:700;margin:8px 0 10px;letter-spacing:-.025em;overflow-wrap:anywhere}.hp-heading p{color:var(--muted);margin-bottom:0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700;color:var(--blue)}.hp-card{background:white;border:1px solid var(--border);border-radius:10px;padding:24px;margin-bottom:22px;min-width:0}.hp-card h2{font-size:19px;font-weight:650;margin-bottom:20px}.hp-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.metric{padding:20px;background:white;border:1px solid var(--border);border-radius:10px}.metric span,.metric small{display:block;color:var(--muted);font-size:12px}.metric strong{display:block;font-size:27px;letter-spacing:-.025em;margin:6px 0;overflow-wrap:anywhere}.hp-filters{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;padding:18px 24px}.hp-filters label{font-size:12px;font-weight:600;margin:0}.hp-filters input{margin-top:6px}.hp-filter-note{font-size:11px;color:var(--muted);padding:10px 0}.btn-primary{background:var(--blue);border-color:var(--blue)}a{color:var(--blue)}.hp-chart{width:100%}.hp-chart svg{width:100%;height:auto;display:block;min-height:150px}.chart-grid{stroke:#e4eaf1;stroke-width:1}.chart-current{stroke:var(--blue);stroke-width:3;fill:none;stroke-linejoin:round;stroke-linecap:round}.chart-previous{stroke:#d08c30;stroke-width:2.5;fill:none;stroke-dasharray:7 5}.chart-label{fill:var(--muted);font-size:12px}.legend-current{color:var(--blue)}.legend-previous{color:#a86c17}.hp-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.table{color:var(--ink);font-size:14px;margin-bottom:0}.table thead th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-top:0;border-bottom:1px solid var(--border)}.table td,.table th{vertical-align:middle;border-top:1px solid #ecf0f5;padding:12px}.table tbody th{font-weight:500}.table-striped tbody tr:nth-of-type(odd){background:#f7f9fc}.period-labels{display:flex;gap:12px 28px;flex-wrap:wrap;font-size:13px;margin-bottom:22px}.period-labels b{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.world-map{width:100%;display:block;max-height:550px;background:#f8fbff;border-radius:6px}.world-map path{stroke:white;stroke-width:.4;transition:opacity .15s}.world-map path:hover{opacity:.75;stroke:#172b43;stroke-width:1}.map-legend{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted);margin:12px 0 16px}.map-gradient{height:8px;width:150px;border-radius:4px;background:linear-gradient(90deg,#b4d9f9,#194b8c)}.pagination-line{display:flex;justify-content:space-between;align-items:center;margin-top:18px;font-size:12px;color:var(--muted);gap:12px}.ports-list{font-family:ui-monospace,monospace;font-size:12px;max-width:280px;overflow-wrap:anywhere}.metadata-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.metadata-grid b{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.ip-map{height:300px;border-radius:6px}.explore-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.explore-links a{background:#eef5fd;border-radius:6px;padding:10px 14px;font-size:13px}.empty-state{color:var(--muted);padding:40px 24px}.hp-footer{max-width:1260px;margin:auto;padding:16px 24px 28px;color:var(--muted);font-size:11px;display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--border)}@media(max-width:767px){.hp-main{padding:24px 14px}.hp-nav{padding:12px 14px}.hp-heading h1{font-size:25px}.hp-card{padding:16px}.hp-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:14px}.metric strong{font-size:23px}.hp-columns,.metadata-grid{grid-template-columns:1fr}.hp-filters{gap:12px}.hp-filters label{flex:1 1 145px;min-width:0}.hp-filters input{width:100%}.table td,.table th{padding:9px}.hp-footer{flex-direction:column}.chart-label{font-size:13px}.hp-chart svg{min-height:120px}.navbar-brand{font-size:18px}.comparison-table{min-width:540px}}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}.section-heading h2{margin-bottom:0}
dl.metadata-grid>div{min-width:0;overflow-wrap:anywhere}
.live-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}.live-state{font-weight:650}.live-state:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:#8b9daf;margin-right:8px}.live-state[data-mode=active]:before{background:#238154}.live-state[data-mode=error]:before{background:#c1523b}.live-state[data-mode=paused]:before{background:#c58c2b}.live-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.live-map{height:420px;border-radius:7px;background:#edf3fa}.live-table{max-height:540px;overflow:auto}.live-table thead th{position:sticky;top:0;background:white;z-index:1}.live-table td{white-space:nowrap}.hp-filters select{margin-top:6px}#live-filters input[name=port]{max-width:120px}#live-filters select[name=country]{max-width:210px}@media(max-width:767px){.live-metrics{grid-template-columns:1fr;gap:10px}.live-metrics .metric{display:flex;justify-content:space-between;align-items:center;gap:12px}.live-metrics .metric strong{margin:0}.live-map{height:300px}.live-controls{align-items:flex-start}.live-controls button{max-width:150px;font-size:13px}#live-filters select,#live-filters input[name=port]{max-width:100%}.hp-filters select{width:100%}}
#search-filters select[name=country]{max-width:240px}#search-filters input[name=port]{max-width:120px}@media(max-width:767px){#search-filters select[name=country],#search-filters input[name=port]{max-width:100%}}
.observatory-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:24px}.observatory-intro{border-top:3px solid var(--blue)}.observatory-intro h2{margin:10px 0 12px;font-size:24px;letter-spacing:-.02em}.observatory-intro p{color:var(--muted);max-width:850px;margin-bottom:0}.weekly-section{margin-bottom:32px}.weekly-section>.section-heading h2{font-size:22px}.weekly-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:22px}.weekly-card{margin-bottom:0;display:flex;flex-direction:column;align-items:flex-start}.weekly-card h3{font-size:21px;line-height:1.4;margin:12px 0 16px;letter-spacing:-.02em}.weekly-card h3 a{color:var(--ink)}.weekly-card .weekly-read{margin-top:auto;font-weight:600}.observatory-findings{padding-left:20px;margin:0;max-width:950px}.observatory-findings li{padding-left:4px;margin-bottom:14px;line-height:1.7}.observatory-findings li:last-child{margin-bottom:0}.observatory-subtitle{font-size:16px;margin:24px 0 10px}.observatory-method p{max-width:1000px;line-height:1.7;color:#495e74}@media(max-width:767px){.weekly-grid{grid-template-columns:1fr;gap:14px}.weekly-card h3{font-size:20px}.observatory-intro h2{font-size:21px}.observatory-actions{gap:16px}.weekly-section>.section-heading h2{font-size:20px}}
