/* SENTINEL v12 — Infrastructure view. Tokens only; every selector scoped. */
#view-infrastructure { padding-top: var(--s-6); }
#view-infrastructure .wrap > * + * { margin-top: var(--s-5); }
#view-infrastructure .view-head { margin-bottom: 0; }

/* ── stat strip ── */
#view-infrastructure .infra-stats {
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid var(--rule); border-radius: var(--radius-lg); background: var(--slate);
}
#view-infrastructure .infra-stats .stat { padding: var(--s-4) var(--s-5); border-left: 1px solid var(--rule); gap: 6px; }
#view-infrastructure .infra-stats .stat:first-child { border-left: 0; }
#view-infrastructure .infra-stats .num { font-size: var(--t-36); color: var(--paper); }
#view-infrastructure .infra-stats .label { font-size: var(--t-14); color: var(--paper); font-weight: 600; line-height: 1.3; }
#view-infrastructure .infra-stats .delta { line-height: 1.45; }
#view-infrastructure .infra-stats .stat--hot .num { color: var(--sev-crit); }
#view-infrastructure .infra-stats .unknown .num { color: var(--mist); }
@media (max-width: 1080px) {
  #view-infrastructure .infra-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #view-infrastructure .infra-stats .stat:nth-child(4) { border-left: 0; }
  #view-infrastructure .infra-stats .stat:nth-child(n+4) { border-top: 1px solid var(--rule); }
}
@media (max-width: 640px) {
  #view-infrastructure .infra-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #view-infrastructure .infra-stats .stat { padding: var(--s-3) var(--s-4); }
  #view-infrastructure .infra-stats .stat:nth-child(n) { border-left: 1px solid var(--rule); border-top: 1px solid var(--rule); }
  #view-infrastructure .infra-stats .stat:nth-child(odd) { border-left: 0; }
  #view-infrastructure .infra-stats .stat:nth-child(-n+2) { border-top: 0; }
  #view-infrastructure .infra-stats .stat:first-child { grid-column: 1 / -1; border-bottom: 0; }
  #view-infrastructure .infra-stats .stat:nth-child(2) { border-top: 1px solid var(--rule); border-left: 0; }
  #view-infrastructure .infra-stats .stat:nth-child(3) { border-top: 1px solid var(--rule); }
  #view-infrastructure .infra-stats .num { font-size: var(--t-28); }
}

/* ── map panel ── */
#view-infrastructure .map-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: var(--s-5); padding: var(--s-4) var(--s-5) var(--s-5); }
#view-infrastructure .map-main { min-width: 0; }
#view-infrastructure .map-well {
  position: relative; background: var(--ink-2); border: 1px solid var(--rule); border-radius: var(--radius);
  overflow: hidden; isolation: isolate;
}
#view-infrastructure .map-well::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1;
  background: radial-gradient(130% 100% at 50% 45%, transparent 62%, color-mix(in srgb, var(--ink-2) 70%, transparent) 100%);
}
#view-infrastructure .worldmap { display: block; width: 100%; height: auto; aspect-ratio: 1000 / 404; }
#view-infrastructure .worldmap .land { fill: var(--rule); stroke: var(--rule-2); stroke-width: 0.5; stroke-linejoin: round; }
#view-infrastructure .worldmap .grat { fill: none; stroke: var(--slate); stroke-width: 0.7; }
#view-infrastructure .worldmap .grat-major { fill: none; stroke: var(--slate-2); stroke-width: 0.9; }
#view-infrastructure #nightImg { pointer-events: none; }

/* glyphs — never take the pointer; hit circles do */
#view-infrastructure .glyphs, #view-infrastructure .glyphs * , #view-infrastructure .sunpt { pointer-events: none; }
#view-infrastructure .g-c2--online { fill: var(--sev-crit); }
#view-infrastructure .g-c2--reported { fill: var(--sev-high); fill-opacity: .88; }
#view-infrastructure .g-c2--offline { fill: var(--mist); fill-opacity: .75; }
#view-infrastructure .g-halo { fill-opacity: .14; }
#view-infrastructure .g-halo--reported { fill: var(--sev-high); }
#view-infrastructure .g-halo--offline { fill: var(--mist); }
#view-infrastructure .g-glow, #view-infrastructure .g-glow-static { fill: var(--sev-crit); opacity: .28; }
#view-infrastructure .g-ring { fill: none; stroke: var(--sev-crit); stroke-width: 1.2; opacity: 0; transform-box: fill-box; transform-origin: center; }
#view-infrastructure .g-scan { fill: var(--cyan); fill-opacity: .82; }
#view-infrastructure .g-scan-halo { fill: var(--cyan); fill-opacity: .1; }
#view-infrastructure .g-ransom { fill: var(--ramp-3); fill-opacity: .05; stroke: var(--ramp-3); stroke-opacity: .7; stroke-width: 1.1; vector-effect: non-scaling-stroke; }
#view-infrastructure .g-arrive { fill: none; stroke-width: 1.4; vector-effect: non-scaling-stroke; transform-box: fill-box; transform-origin: center; opacity: 0; }
#view-infrastructure .g-arrive--online { stroke: var(--sev-crit); }
#view-infrastructure .g-arrive--reported { stroke: var(--sev-high); }
#view-infrastructure .g-arrive--offline { stroke: var(--mist); }
#view-infrastructure .sun-ring { fill: none; stroke: var(--ramp-3); stroke-opacity: .55; stroke-width: 1; vector-effect: non-scaling-stroke; }
#view-infrastructure .sun-core { fill: var(--ramp-3); fill-opacity: .75; }

#view-infrastructure .hit { fill: transparent; stroke: transparent; cursor: pointer; vector-effect: non-scaling-stroke; }
#view-infrastructure .hit:hover { stroke: var(--fog); stroke-opacity: .55; stroke-width: 1; }
#view-infrastructure .hit:focus { outline: none; }
#view-infrastructure .hit:focus-visible { stroke: var(--amber); stroke-width: 2; stroke-opacity: 1; }

/* motion that encodes something real */
@media (prefers-reduced-motion: no-preference) {
  #view-infrastructure .g-ring { animation: infraRing 2.8s var(--ease) infinite; }
  #view-infrastructure .breathe { animation: infraBreathe var(--bt, 4s) ease-in-out infinite; }
  #view-infrastructure .g-arrive { animation: infraArrive 2.6s var(--ease) 3; }
  #view-infrastructure .newpt { animation: infraFlash 2.4s var(--ease) 3; }
  #view-infrastructure .wavefront { animation: infraWave var(--wave-ms, 2200ms) linear 1 forwards; }
  #view-infrastructure .wavepaint { animation: infraPaint 620ms var(--ease) 1 both; }
}
@keyframes infraRing { 0% { transform: scale(1); opacity: .7; } 100% { transform: scale(4.2); opacity: 0; } }
@keyframes infraBreathe { 0%, 100% { opacity: .16; } 50% { opacity: .46; } }
@keyframes infraArrive { 0% { transform: scale(1); opacity: .95; } 70% { opacity: .2; } 100% { transform: scale(6); opacity: 0; } }
@keyframes infraFlash { 0%, 100% { filter: none; } 35% { filter: brightness(1.8); } }
@keyframes infraWave { from { transform: translateX(0); } to { transform: translateX(1092px); } }
@keyframes infraPaint { 0% { filter: none; } 24% { filter: brightness(1.9); } 100% { filter: none; } }
#view-infrastructure .wavefront { pointer-events: none; }
#view-infrastructure .wf-s0 { stop-color: var(--cyan); stop-opacity: 0; }
#view-infrastructure .wf-s1 { stop-color: var(--cyan); stop-opacity: .06; }
#view-infrastructure .wf-s2 { stop-color: var(--cyan); stop-opacity: .2; }
#view-infrastructure .wf-line { stroke: var(--cyan); stroke-width: .9; opacity: .5; }

/* overlays on the well */
#view-infrastructure .map-lat { position: absolute; inset: 0 auto 0 0; width: 40px; pointer-events: none; z-index: 2; }
#view-infrastructure .map-lat span { position: absolute; left: 8px; transform: translateY(-50%); font-family: var(--f-data); font-size: var(--t-12); color: var(--mist); opacity: .7; }
#view-infrastructure .map-solar {
  position: absolute; left: 10px; bottom: 8px; z-index: 2; margin: 0;
  display: inline-flex; align-items: center; gap: 8px;
  font-size: var(--t-12); color: var(--fog);
  background: color-mix(in srgb, var(--ink-2) 78%, transparent); padding: 2px 8px; border-radius: var(--radius);
}
#view-infrastructure .map-solar b { color: var(--paper); font-weight: 500; }
#view-infrastructure .map-solar .sun { width: 10px; height: 10px; border-radius: 50%; border: 1px solid var(--ramp-3); box-shadow: inset 0 0 0 2.5px var(--ink-2), inset 0 0 0 5px var(--ramp-3); flex: none; }
#view-infrastructure .map-tip {
  position: absolute; z-index: 5; left: 0; top: 0; pointer-events: none; opacity: 0;
  max-width: 280px; padding: 8px 12px; border-radius: var(--radius);
  background: var(--slate); border: 1px solid var(--rule-2); box-shadow: var(--shadow-float);
  font-size: var(--t-13); line-height: 1.45; color: var(--fog);
  transition: opacity var(--t-fast) var(--ease);
}
#view-infrastructure .map-tip.on { opacity: 1; }
#view-infrastructure .map-tip .tt-h { color: var(--paper); font-weight: 700; display: flex; align-items: center; gap: 8px; }
#view-infrastructure .map-tip .tt-h .ioc { font-size: var(--t-13); }
#view-infrastructure .map-tip.tip--online { border-color: color-mix(in srgb, var(--sev-crit) 60%, transparent); }
#view-infrastructure .map-tip .lg { width: 8px; height: 8px; flex: none; border-radius: 50%; background: var(--sev-high); }
#view-infrastructure .map-tip .lg-online { background: var(--sev-crit); }
#view-infrastructure .map-tip .lg-offline { background: var(--mist); }
#view-infrastructure .map-tip .lg-scan { background: var(--cyan); border-radius: 0; transform: rotate(45deg); width: 7px; height: 7px; }
#view-infrastructure .map-tip .lg-ransom { background: none; border: 1.5px solid var(--ramp-3); border-radius: 0; }
#view-infrastructure .map-fault { position: absolute; inset: 0; z-index: 3; display: grid; place-items: center; background: color-mix(in srgb, var(--ink-2) 72%, transparent); }
#view-infrastructure .map-fault .empty { max-width: 46ch; background: var(--slate); border: 1px solid var(--rule-2); border-radius: var(--radius); padding: var(--s-4) var(--s-5); }

/* family chips */
#view-infrastructure .fam-bar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-3); margin-top: var(--s-4); }
#view-infrastructure .fam-bar .eyebrow { margin-right: var(--s-1); }
#view-infrastructure .fam-bar .toggle .mono { font-size: var(--t-12); margin-left: 2px; }
#view-infrastructure .fam-bar .toggle[aria-pressed="true"] .mono { color: var(--amber); }

/* side column */
#view-infrastructure .map-side { display: flex; flex-direction: column; gap: var(--s-5); min-width: 0; }
#view-infrastructure .side-block > .eyebrow { margin-bottom: var(--s-2); }
#view-infrastructure .layer-list { display: grid; gap: 6px; }
#view-infrastructure .layer {
  display: grid; grid-template-columns: 16px minmax(0, 1fr) auto; align-items: center; gap: 10px;
  width: 100%; text-align: left; padding: 8px 12px; min-height: 44px;
  background: transparent; border: 1px solid var(--rule-2); border-radius: var(--radius); color: var(--fog);
  transition: border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease), opacity var(--t-fast) var(--ease);
}
#view-infrastructure .layer:hover { border-color: var(--fog); }
#view-infrastructure .layer[aria-pressed="true"] { background: var(--slate-2); border-color: var(--rule-2); color: var(--paper); }
#view-infrastructure .layer[aria-pressed="false"] { opacity: .6; }
#view-infrastructure .layer[aria-pressed="false"] .lg-svg { opacity: .4; }
#view-infrastructure .layer-n { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
#view-infrastructure .layer-n b { font-size: var(--t-14); font-weight: 600; }
#view-infrastructure .layer-n small { font-size: var(--t-12); color: var(--mist); }
#view-infrastructure .layer-c { font-size: var(--t-14); color: var(--paper); }
#view-infrastructure .lg-svg { width: 14px; height: 14px; display: block; flex: none; overflow: visible; }
#view-infrastructure .legend { list-style: none; display: grid; gap: 8px; font-size: var(--t-13); color: var(--fog); line-height: 1.45; }
#view-infrastructure .legend li { display: grid; grid-template-columns: 14px minmax(0, 1fr); gap: 10px; align-items: start; }
#view-infrastructure .legend li .lg-svg { margin-top: 3px; }
#view-infrastructure .legend b { color: var(--paper); font-weight: 600; }
#view-infrastructure .legend a { white-space: nowrap; }
#view-infrastructure .legend .legend-size { display: block; color: var(--mist); }
#view-infrastructure .map-under { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-3) var(--s-4); margin-top: var(--s-3); }
#view-infrastructure .readout { flex: 1 1 320px; min-width: 0; min-height: 52px; display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 6px var(--s-3); border: 0; border-left: 2px solid var(--rule-2); border-radius: 0; background: transparent; }
/* watch.css styles an unscoped .readout; the overrides above neutralise it here. */
#view-infrastructure .ro-hint { font-size: var(--t-13); color: var(--fog); }
#view-infrastructure .ro-k { display: flex; align-items: center; gap: 8px; font-size: var(--t-12); font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--fog); }
#view-infrastructure .ro-v { font-size: var(--t-14); color: var(--fog); overflow-wrap: anywhere; }
#view-infrastructure .ro-v b { color: var(--paper); font-weight: 600; }
#view-infrastructure .ro-v b.ioc { font-weight: 500; font-size: var(--t-14); }
#view-infrastructure .ro-sep { margin: 0 8px; color: var(--mist); }
#view-infrastructure .ro-g { width: 8px; height: 8px; border-radius: 50%; background: var(--sev-high); flex: none; }
#view-infrastructure .ro-g--online { background: var(--sev-crit); }
#view-infrastructure .ro-g--offline { background: var(--mist); }
#view-infrastructure .ro-g--scan { background: var(--cyan); border-radius: 0; transform: rotate(45deg); width: 7px; height: 7px; }
#view-infrastructure .ro-g--ransom { background: none; border: 1.5px solid var(--ramp-3); border-radius: 0; }
#view-infrastructure .map-note { display: grid; gap: var(--s-2); max-width: 120ch; }

@media (max-width: 1080px) {
  #view-infrastructure .map-grid { grid-template-columns: minmax(0, 1fr); }
  #view-infrastructure .map-side { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4) var(--s-5); }
}
@media (max-width: 640px) {
  #view-infrastructure .map-grid { padding: var(--s-3) var(--s-3) var(--s-4); gap: var(--s-4); }
  #view-infrastructure .map-side { grid-template-columns: minmax(0, 1fr); }
  #view-infrastructure .map-lat { display: none; }
  #view-infrastructure .map-solar .sol-t { display: none; }
  #view-infrastructure .map-solar { position: static; display: flex; flex-wrap: wrap; background: none; padding: 8px 10px 6px; border-top: 1px solid var(--rule); }
}

/* ── bars (countries, families, brands, ports) ── */
#view-infrastructure .sub-h { margin: 0 0 var(--s-2); }
#view-infrastructure .sub-h .quiet { text-transform: none; letter-spacing: 0; font-weight: 400; }
#view-infrastructure .panel-body .sub-h + * { margin-bottom: var(--s-3); }
#view-infrastructure .panel-body .note + .sub-h, #view-infrastructure .panel-body .bars + .sub-h { margin-top: var(--s-5); }
#view-infrastructure .bars { list-style: none; display: grid; gap: 4px; }
#view-infrastructure .bars > li, #view-infrastructure .bar-btn {
  display: grid; grid-template-columns: minmax(84px, 9.5em) minmax(0, 1fr) auto; align-items: center; gap: var(--s-3);
  font-size: var(--t-14); min-height: 28px;
}
#view-infrastructure .bars--btn > li { display: block; }
#view-infrastructure .bar-btn { background: none; border: 0; padding: 2px 6px; margin: 0 -6px; width: calc(100% + 12px); border-radius: var(--radius); color: var(--paper); text-align: left; transition: background var(--t-fast) var(--ease); }
#view-infrastructure .bar-btn:hover { background: var(--slate-2); }
#view-infrastructure .bar-btn[aria-pressed="true"] { background: rgba(242, 181, 68, .08); box-shadow: inset 2px 0 0 var(--amber); }
#view-infrastructure .bar-k { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--paper); }
#view-infrastructure .bar-t { position: relative; height: 8px; display: grid; gap: 2px; align-content: center; }
#view-infrastructure .bar-t i { display: block; height: 6px; width: var(--v); background: var(--sev-high); border-radius: 0 3px 3px 0; opacity: .85; }
#view-infrastructure .bars--dual .bar-t { height: 14px; }
#view-infrastructure .bars--dual .bar-t i { height: 5px; }
#view-infrastructure .bar-t i.b2 { background: var(--cyan); opacity: .8; }
#view-infrastructure .bars--sig .bar-t i { background: var(--ramp-2); }
#view-infrastructure .bars--brand .bar-t i { background: var(--amber); opacity: .8; }
#view-infrastructure .bars--brand .bar-k { text-transform: capitalize; }
#view-infrastructure .bar-n { font-size: var(--t-13); color: var(--fog); text-align: right; min-width: 2.5ch; }
#view-infrastructure .bar-key { display: flex; gap: var(--s-4); font-size: var(--t-12); color: var(--fog); margin-bottom: var(--s-3); }
#view-infrastructure .bar-key i { display: inline-block; width: 12px; height: 5px; border-radius: 2px; margin-right: 6px; vertical-align: middle; }
#view-infrastructure .bar-key .k-c2 { background: var(--sev-high); }
#view-infrastructure .bar-key .k-scan { background: var(--cyan); }

/* ports */
#view-infrastructure .ports { list-style: none; display: grid; gap: 2px; }
#view-infrastructure .ports li { display: grid; grid-template-columns: 5.6em minmax(0, 1fr) auto; gap: var(--s-3); align-items: center; padding: 5px 0; border-bottom: 1px solid var(--rule); }
#view-infrastructure .ports li:last-child { border-bottom: 0; }
#view-infrastructure .port-n { font-size: var(--t-16); color: var(--paper); display: flex; flex-direction: column; line-height: 1.2; }
#view-infrastructure .port-n small { font-family: var(--f-body); font-size: var(--t-12); color: var(--mist); }
#view-infrastructure .ports .bar-t i { background: var(--cyan); }
#view-infrastructure .port-c { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.25; }
#view-infrastructure .port-c b { font-weight: 500; font-size: var(--t-14); color: var(--paper); }
#view-infrastructure .port-c small { font-size: var(--t-12); color: var(--mist); white-space: nowrap; }

/* lists */
#view-infrastructure .panel-body.flush > .list > li > .row, #view-infrastructure .panel-body.flush > .list > .row { padding-block: 10px; }
#view-infrastructure .row-title.ioc { font-weight: 400; font-size: var(--t-14); }
#view-infrastructure .row-sub .brand { color: var(--amber); text-transform: capitalize; }
#view-infrastructure .row-side .mono { font-size: var(--t-12); white-space: nowrap; }
#view-infrastructure .row-side .meter { width: 72px; }
#view-infrastructure .hash { font-size: var(--t-12); color: var(--mist); }
#view-infrastructure .row-title .chip { margin-left: 6px; }
#view-infrastructure .brands, #view-infrastructure .types { border-bottom: 1px solid var(--rule); padding-bottom: var(--s-4); }
#view-infrastructure .type-chips { display: flex; flex-wrap: wrap; gap: 6px; }
#view-infrastructure .type-chips b { color: var(--paper); font-weight: 500; }
#view-infrastructure .panel-foot { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-4); }
#view-infrastructure .panel-foot .btn { margin-left: calc(-1 * var(--s-2)); }
#view-infrastructure .map-note { display: grid; }

/* ── v12.1 government intel: lede fact, named markers, disruptions, advisories ── */
#view-infrastructure .infra-fact {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--s-2) var(--s-3);
  margin: 0; padding: var(--s-3) var(--s-4); background: var(--slate);
  border: 1px solid var(--rule); border-left: 3px solid var(--amber); border-radius: var(--radius);
  font-size: var(--t-14); line-height: var(--lh-snug);
}
#view-infrastructure .infra-fact .eyebrow { margin: 0; color: var(--amber); }
#view-infrastructure .infra-fact .fact-who { color: var(--paper); font-weight: 700; }
#view-infrastructure .infra-fact .fact-target { color: var(--fog); }
#view-infrastructure .infra-fact .fact-t { flex: 1 1 320px; min-width: 0; }
#view-infrastructure .infra-fact .fact-t a { color: var(--cyan); }
#view-infrastructure .g-named { fill: none; stroke: var(--amber); stroke-width: 1.3; stroke-dasharray: 3 2; }
#view-infrastructure .lg-svg .g-named { stroke-width: 1.2; }
#view-infrastructure .map-tip .tt-named { color: var(--amber); font-weight: 600; }
#view-infrastructure .infra-named { font-family: var(--f-data); white-space: nowrap; }

#view-infrastructure .dis-top { display: grid; gap: var(--s-4); border-bottom: 1px solid var(--rule); }
#view-infrastructure .dis-seg button { font-size: var(--t-12); }
#view-infrastructure .dis-time { display: grid; gap: 6px; }
#view-infrastructure .dis-lane, #view-infrastructure .dis-axis { display: grid; grid-template-columns: 150px minmax(0, 1fr); align-items: center; gap: var(--s-3); }
#view-infrastructure .dis-k { font-size: var(--t-12); color: var(--fog); white-space: nowrap; }
#view-infrastructure .dis-k b { color: var(--paper); margin-left: 4px; }
#view-infrastructure .dis-track { position: relative; height: 16px; border-bottom: 1px solid var(--rule-2); }
#view-infrastructure .dis-track i {
  position: absolute; bottom: -5px; width: 9px; height: 9px; margin-left: -4.5px; border-radius: 50%;
  background: var(--dk, var(--mist)); box-shadow: 0 0 0 2px var(--slate);
}
#view-infrastructure .dis-ticks { position: relative; height: 18px; }
#view-infrastructure .dis-ticks span { position: absolute; top: 2px; transform: translateX(-50%); font-family: var(--f-data); font-size: var(--t-12); color: var(--mist); white-space: nowrap; }
#view-infrastructure .dis-ticks span:first-child { transform: none; }
#view-infrastructure .dis-ticks span:last-child { transform: translateX(-100%); }
#view-infrastructure .dis-lane--takedown, #view-infrastructure .dis-kind--takedown { --dk: var(--sev-crit); }
#view-infrastructure .dis-lane--seizure, #view-infrastructure .dis-kind--seizure { --dk: var(--sev-high); }
#view-infrastructure .dis-lane--sanction, #view-infrastructure .dis-kind--sanction { --dk: var(--amber); }
#view-infrastructure .dis-lane--arrest, #view-infrastructure .dis-kind--arrest,
#view-infrastructure .dis-lane--extradition, #view-infrastructure .dis-kind--extradition { --dk: var(--cyan); }
#view-infrastructure .dis-lane--indictment, #view-infrastructure .dis-kind--indictment { --dk: var(--paper); }
#view-infrastructure .dis-lane--other, #view-infrastructure .dis-kind--other { --dk: var(--mist); }
#view-infrastructure .dis-kind { color: var(--dk); border-color: color-mix(in srgb, var(--dk) 55%, transparent); margin-right: var(--s-2); vertical-align: 1px; }

#view-infrastructure .dis-row, #view-infrastructure .gov-adv .row { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: var(--s-3); align-items: start; }
#view-infrastructure .dis-date { font-size: var(--t-12); color: var(--fog); padding-top: 3px; white-space: nowrap; }
#view-infrastructure .dis-row .row-title, #view-infrastructure .gov-adv .row-title { white-space: normal; line-height: var(--lh-snug); }
#view-infrastructure .dis-link { color: var(--paper); text-decoration: underline; text-decoration-color: var(--rule-2); text-underline-offset: 3px; }
#view-infrastructure .dis-link:hover { color: var(--cyan); text-decoration-color: var(--cyan); }
#view-infrastructure .dis-row .row-sub { display: flex; flex-wrap: wrap; gap: 4px var(--s-2); align-items: center; white-space: normal; }
#view-infrastructure .dis-ag { font-size: var(--t-12); padding-block: 0; }
#view-infrastructure .dis-who { color: var(--paper); font-weight: 600; }
#view-infrastructure .dis-seized { color: var(--amber); }
#view-infrastructure .dis-seized .ioc { color: var(--paper); }

#view-infrastructure .gov-top { display: grid; gap: var(--s-2); }
#view-infrastructure .gov-sum { margin: 0; font-size: var(--t-14); color: var(--fog); }
#view-infrastructure .gov-sum b { color: var(--paper); font-size: var(--t-18); }
#view-infrastructure .gov-none { margin: 0; font-size: var(--t-13); color: var(--fog); }
#view-infrastructure .gov-xm { margin: 0 calc(-1 * var(--s-5)); }
#view-infrastructure .gov-xm .row-side { flex-wrap: wrap; justify-content: flex-end; }
#view-infrastructure .gov-id { color: var(--amber); margin-right: var(--s-2); font-size: var(--t-13); }
#view-infrastructure .gov-note { margin: 0; }
@media (max-width: 1080px) {
  #view-infrastructure .infra-gov { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  #view-infrastructure .dis-lane, #view-infrastructure .dis-axis { grid-template-columns: 132px minmax(0, 1fr); gap: var(--s-2); }
  #view-infrastructure .dis-row, #view-infrastructure .gov-adv .row { grid-template-columns: 46px minmax(0, 1fr); gap: var(--s-2); }
  #view-infrastructure .gov-xm { margin: 0 calc(-1 * var(--s-4)); }
}
#view-infrastructure .dis-seized { display: flex; flex-wrap: wrap; gap: 4px var(--s-2); align-items: baseline; }
@media (max-width: 640px) {
  #view-infrastructure .dis-ticks span:nth-child(2), #view-infrastructure .dis-ticks span:nth-child(4) { display: none; }
}
